gpt4 book ai didi

java - Android - 网页 View 进度条

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:42 25 4
gpt4 key购买 nike

我在 webview 上方添加了进度条。每当我点击一个链接时,我只是让进度条可见。

我想让进度条覆盖在 webview 上,我想显示进度条的百分比。我知道css,但我不知道如何改变android中进度条的位置

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

主 Activity .java

public class MainActivity extends Activity {

WebView web;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

web = (WebView) findViewById(R.id.webview01);
// request the progress-bar feature for the activity
getWindow().requestFeature(Window.FEATURE_PROGRESS);

// set a webChromeClient to track progress
web.setWebChromeClient(new WebChromeClient()
{
public void onProgressChanged(WebView view, int progress)
{
// update the progressBar
MainActivity.this.setProgress(progress * 100);
}
});


web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("url");

}

// To handle "Back" key press event for WebView to go back to previous screen.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
web.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

要显示进度条百分比,我需要修改这段代码吗?或者我可以扩展此代码的功能吗?

最佳答案

要显示“页面加载”进度条,请使用:

在 onCreate() 中:

// request the progress-bar feature for the activity
getWindow().requestFeature(Window.FEATURE_PROGRESS);

// set a webChromeClient to track progress
myWebView.setWebChromeClient(new WebChromeClient()
{
public void onProgressChanged(WebView view, int progress)
{
// update the progressBar
MyActivity.this.setProgress(progress * 100);
}
});

这将在屏幕顶部使用内置样式显示,就像内置浏览器一样。

如果你想显示和更新你自己的 ProgressBar,过程是相似的,获取你的进度条的句柄:

ProgressBar myProgress = (ProgressBar)findViewById(R.id.progressBar1);

...在 onProgressChanged() 函数中,使用这个:

myProgress.setProgress(progress * 100);

代替 MyActivity.this.setProgress()。

此外,如果您想让 ProgressBar 出现在 WebView 的前面,则不能使用 LinearLayout。使用 centerInParent="true"的 RelativeLayout,并在布局中的 WebView 之后列出 ProgressBar。

关于java - Android - 网页 View 进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19794312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com