Hej.
Mam aktywność z WebView. Pobiera sobie url z Firebase i wyświetla stronę www.
Generalnie wszystko działa ale chciałbym dołączyć do tego pasek postępu (żeby użytkownik widział, że strona się ładuje. Przy słabym internecie może to chwilę potrwać więc użytkownik może uznać, że coś nie działa i wyjść z aktywności)
Chodzi mi o coś takiego:
https://material.io/guidelines/components/progress-activity.html#progress-activity-types-of-indicators
typ linear determinate
Pytanie: gdzie i co wstawić żeby to działało?
oto mój kod:
public class WebActivity extends AppCompatActivity {
private Toolbar mToolbar;
private WebView mWebView;
private DatabaseReference mDatabase;
private String mPost_key = null;
private String webUrl;
private String webDostawca;
private Menu mMenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
mDatabase = FirebaseDatabase.getInstance().getReference().child("WIADOMOSCI");
mPost_key = getIntent().getExtras().getString("card_id");
mDatabase.child(mPost_key).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
webUrl = (String) dataSnapshot.child("Url").getValue();
webDostawca = (String) dataSnapshot.child("Dostawca").getValue();
setTitle("");
getSupportActionBar().setSubtitle(webDostawca);
mWebView = (WebView) findViewById(R.id.webView);
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl(webUrl);
mWebView.getSettings().setJavaScriptEnabled(true);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mToolbar = (Toolbar) findViewById(R.id.web_toolbar);
setSupportActionBar(mToolbar);
mToolbar.setSubtitleTextColor(ContextCompat.getColor(getApplicationContext(),R.color.colorPrimaryDark));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mToolbar.setNavigationIcon(R.drawable.left_arrow1);
Drawable drawable = ContextCompat.getDrawable(getApplicationContext(), R.drawable.mark1);
mToolbar.setOverflowIcon(drawable);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
mMenu = menu;
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.web_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.web){
Intent webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(webUrl));
startActivity(webIntent);
}
if(item.getItemId() == R.id.share){
Toast.makeText(WebActivity.this, "share", Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
}