【发布时间】:2021-05-25 16:35:20
【问题描述】:
我正在使用 android,因为我通过 webview 调用链接。现在,问题是,每当我在第二个进度条出现后单击任何按钮或调用该链接的任何页面时,即进度条性能在加载任何内容时都会延迟。
从这个问题中,用户无法知道按钮/链接是否被点击,没有任何进度条标志,因此用户多次点击该按钮/链接。
这是我的MainActivity.java的android代码,
public class MainActivity extends AppCompatActivity {
WebView webView;
ProgressBar bar;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bar = (ProgressBar)findViewById(R.id.progressBar2);
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setAppCacheEnabled(true);
webView.setWebViewClient(new myWebClient());
webView.loadUrl("http://florro-001-site2.etempurl.com/");
}
public class myWebClient extends WebViewClient{
@Override
public void onPageFinished(WebView view, String url) {
bar.setVisibility(View.GONE);
view.setVisibility(webView.VISIBLE);
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
bar.setVisibility(View.VISIBLE);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
boolean overrideUrlLoading = false;
view.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()){
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
我搜索了很多东西,但没有找到相关的主题。
【问题讨论】:
标签: android performance webview android-webview progress-bar