この記事では主に Android 模倣 WeChat 読み込み H5 ページ進行状況バーを詳しく紹介します。興味のある方は参考にしてください。
前書き
Android の WebView がフロントエンド ページをチェックインするとき、インターネットの影響を受ける 交通環境やページコンテンツのサイズの影響により、ユーザーが長時間待たされる場合があります。読み込み進行状況バーを表示すると、エクスペリエンスが大幅に向上します。 WeChatでアクセスしたH5ページの読み込み効果が良かったのでコピーして書いてみました。
1.
1-1. カスタム クラスは WebView クラスを継承します
class ProgressWebView(context: Context, attr: AttributeSet) : WebView(context, attr) { /** *xml布局中使用,所以用两个构造参数的构造函数 */ private var progressBar: ProgressBar? = null /** *初始化属性操作 */ init { /** *设置ProgressBar是横向 */ progressBar = ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal) /** *设置进度条属性 */ progressBar!!.progressDrawable = context.resources.getDrawable(R.drawable.webview_hori_progress) /** *设置ProgressBar的布局参数 */ val layoutParams = FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, 10, 0) /** *绑定参数 */ progressBar!!.layoutParams = layoutParams /** *将ProgressBar添加到WebView上 默认头部 */ addView(progressBar) /** *设置WebView辅助类WebChromeClient,获取实时加载进度 */ setWebChromeClient(object : WebChromeClient() { override fun onProgressChanged(webview: WebView?, progress: Int) { super.onProgressChanged(webview, progress) Log.d("progressView", progress.toString()) if (progress == 100) progressBar!!.visibility = View.GONE else { progressBar!!.visibility = View.VISIBLE /** *设置进度参数 */ progressBar!!.progress = progress } } }) } }
読み込みプログレス バー セット、webview_hori_progress.xml のプロパティを確認します。
りー
1-2.xml がレイアウトで参照
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--最下层item属性--> <item> <shape> <!--无圆角--> <corners android:radius="0dp" /> <!--线条颜色--> <gradient android:endColor="#FFE4E3E3" android:startColor="#FFE4E3E3" /> </shape> </item> <!--上层item属性--> <item> <clip> <shape> <!--无圆角--> <corners android:radius="0dip" /> <!--线条颜色 渐变,由深到浅--> <gradient android:centerColor="#96EF1627" android:endColor="#50F53D4B" android:startColor="#FFEF1627" /> </shape> </clip> </item> </layer-list>
1-3.コード実装
<com.ypl.csdndemo.ProgressWebView android:id="@+id/wvProgress" android:layout_width="match_parent" android:layout_height="match_parent"/>
それはこの記事の内容全体が皆さんの学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
関連する推奨事項:
CSS を使用して iOS7 のようなスイッチ ボタンを実装する以上がAndroid を使用して WeChat を模倣し、H5 ページのプログレスバーをロードしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。