这是我想要使用的库:https://github.com/RomainPiel/Shimmer-android
它基本上是一个闪烁的文本视图,但我想在我的webview加载时显示它。然而,作为文本视图,微光需要布局。我是否应该创建一个新活动来显示闪烁的文本视图,并在Web视图加载时显示哪些内容?
我在这里试图实现此代码:
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
// TODO show you progress image
super.onPageStarted(view, url, favicon);
Log.i("WEBVIEW", "Loading");
}
@Override
public void onPageFinished(WebView view, String url)
{
// TODO hide your progress image
super.onPageFinished(view, url);
Log.i("WEBVIEW", "Loading Done");
}
});
答案 0 :(得分:2)
我从未使用WebView
,但你的想法看起来不错。
只需使用FrameLayout
,即可使用Z排序的优势(在FrameLayout
中,视图按深度排序)。像这样:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android">
<WebView
...Properties
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
...Properties
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.romainpiel.shimmer.ShimmerTextView
android:id="@+id/shimmer_tv"
android:text="@string/shimmer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#444"
android:textSize="50sp"/>
</LinearLayout>
</FrameLayout>
因此LinearLayout
将位于WebView的顶部,并在bringToFront()
上使用WebView
并隐藏LinearLayout
以在页面完成时显示WebView
负荷。
看看这个page解释这种行为。