保持当前页面呈现,直到加载下一页

摩萨伯

我有一个基于WebView.loadUrl(“ http://www.example.com ”)的简单应用

当用户单击URL时,默认行为是立即显示空白页面,等待页面加载完毕,然后显示此页面。

我设法显示一个初始屏幕代替空白页面。但是,是否可以使当前页面保持渲染状态,并仅在完全加载后才渲染下一页?

迈克·M

我觉得这是一个棘手的解决方案。在有人发布“真实”方法来执行此操作之前,我将其作为临时修复程序提供。

MainActivity 班级:

public class MainActivity extends Activity
{
    WebView webView1, webView2;
    EditText editText;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        editText = (EditText) findViewById(R.id.edit_url);
        webView1 = (WebView) findViewById(R.id.webView_1);
        webView2 = (WebView) findViewById(R.id.webView_2);

        webView1.setWebViewClient(client);
        webView2.setWebViewClient(client);

        webView1.loadUrl(editText.getText().toString());
    }

    private WebViewClient client = new WebViewClient()
    {
        public void onPageFinished(WebView webView, String url)
        {
            if (webView == webView1)
                webView2.setVisibility(View.GONE);
            else
                webView1.setVisibility(View.GONE);

            webView.setVisibility(View.VISIBLE);
            Toast.makeText(MainActivity.this, "WebView " + (webView == webView1 ? "One" : "Two") + " is showing", 0).show();
        }
    };

    private void loadUrl(String url)
    {
        if (webView1.getVisibility() == View.GONE)
            webView1.loadUrl(url);
        else
            webView2.loadUrl(url);
    }

    public void onClick(View v)
    {
        loadUrl(editText.getText().toString());
    }
}

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <android.webkit.WebView android:id="@+id/webView_1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <android.webkit.WebView android:id="@+id/webView_2"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:visibility="gone" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <EditText android:id="@+id/edit_url"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="4"
            android:layout_gravity="center_vertical"
            android:text="http://www.example.com" />

        <Button android:id="@+id/button_load"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onClick"
            android:text="Load" />

    </LinearLayout>

</LinearLayout>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android ViewPager 删除当前页面并移至下一页

Cakephp-从当前页面的下一页获取项目?

如何在远程表单上保持禁用提交按钮,直到加载下一页

jQuery mobile停止移动到下一页后使用的当前页面中的脚本

Angular.js-使用服务加载数据将显示前一页数据而不是当前页面数据

Google Analytics(分析)API分页当前页码和下一页验证

如何制作可以滑出当前页面并滑到另一页面的导航动画

当我在当前页面上编辑间距时,有什么方法可以防止下一页改变吗?

保持禁用按钮,直到重新加载当前页面(使用Jquery)

如何根据用户的上一页更改当前页面中的 URL 超链接?

Contao:前端-获取另一页的主题部分-而不是当前页面

如果前一页的URL以“ -cn”结尾,则更改当前页面的内容

Selenium Webdriver从上一页而不是当前页面中查找元素

从上一页获取价值以使用php显示在当前页面上

Django URL显示上一页和当前页面,但我只希望URL中显示当前页面名称

如何在当前页面的另一页面上显示按钮元素内的文本?

如果前一页网址的后3个数字以“ -cn”结尾,则更改当前页面中的内容

如何在 OnSen 和 Angular 2+ 中关闭当前页面后刷新上一页

当页面更改时,UIPageViewController中的下一页仅部分加载

硒单击到下一页,直到最后一页

jQuery加载方法以异步加载下一页和上一页

jQuery Mobile在下一页上保持样式

php页面加载延迟,直到当前页面上的所有ajax调用完成

Scrapy中附加页面的下一页

如何从登录页面转到下一页?

页面导航后存储下一页的内容

Vue阻止页面呈现,直到通过验证

加载下一页时如何从上一页获取输入字段的数据?

Android Paging 3 未加载下一页