繁体   English   中英

加载Webview时如何在Android上使用Shimmer?

[英]How to use Shimmer for Android while a webview is loading?

这是我想使用的库: https : //github.com/RomainPiel/Shimmer-android

它基本上是一个闪烁的文本视图,但是我想在加载Web视图时显示它。 但是,作为文本视图,微光需要布局。 我应该创建一个新的活动来显示微光的textview并在加载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");
    }
});

我从未使用过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的顶部,并在WebView上使用bringToFront()并隐藏LinearLayout以在页面加载完成时显示WebView

看一下此行为说明页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM