android fragment中webview加载动画
时间: 2023-05-31 22:02:54 浏览: 134
以下是一个例子:
1. 在res/layout文件夹中创建一个名为fragment_webview.xml的布局文件,用于包含WebView。
```
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</LinearLayout>
```
2. 在Fragment类中,声明WebView和ProgressBar,并在onCreateView方法中将它们实例化并添加到布局中。
```
public class WebViewFragment extends Fragment {
private WebView mWebView;
private ProgressBar mProgressBar;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_webview, container, false);
mWebView = view.findViewById(R.id.webview);
mProgressBar = view.findViewById(R.id.progressBar);
mWebView.setWebViewClient(new MyWebViewClient());
mWebView.loadUrl("https://www.example.com");
return view;
}
private class MyWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
mProgressBar.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
mProgressBar.setVisibility(View.GONE);
}
}
}
```
3. 在WebViewClient中重写onPageStarted和onPageFinished方法,以显示和隐藏ProgressBar。
这样,当WebView开始加载页面时,ProgressBar将显示在中心,并在页面加载完成后自动消失。
注意:需要在AndroidManifest.xml文件中添加Internet权限,以便WebView可以加载网页。
```
<uses-permission android:name="android.permission.INTERNET" />
```
阅读全文