首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在加载webview时为Android使用Shimmer?

如何在加载webview时为Android使用Shimmer?
EN

Stack Overflow用户
提问于 2014-06-07 00:01:15
回答 1查看 1.4K关注 0票数 0

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

它基本上是一个闪烁的文本视图,但是我想在我的webview加载时显示这个。但是,作为文本视图,shimmer需要一个布局。我应该创建一个新的活动来显示shimmer文本视图,并在web视图加载时显示它吗?

下面是我试图实现这段代码的地方:

代码语言:javascript
复制
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");
    }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-07 00:35:57

我从来没有使用过WebView,但你的想法看起来不错。

只需使用FrameLayout,就可以利用Z排序的优势(在FrameLayout中,视图是按深度排序的)。如下所示:

代码语言:javascript
复制
<?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

看看这个解释这种行为的页面

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24092262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档