某些网址加载时是否可以执行某些操作?

缓冲

我正在编写我的第一个android“ app”,并作弊,因为我使用WebView来显示主要的“应用程序”。

我发现,通过将背景呈现为ImageViews而不是从HTML代码加载背景,该应用程序通常速度更快。我有一个ImageView,它从一开始就充当应用程序的背景并加载,并且位于WebView的“后面”(WebView背景是透明的)。

但是,一旦用户在文本字段上按下Enter键,并将其发送到WebView中的另一个网页,我便希望摆脱第一个背景ImageView并加载一个新的ImageView,以使前一个不会降低它的速度下。所以我想我必须检测某种加载事件,并对此进行一些处理。但是,我一直在寻找文档,却一无所获。我什至不知道从哪里开始。有什么办法吗?谢谢。

这是我的代码,如果有什么用(但是我不认为它真的有用)。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().hide();

        setContentView(R.layout.activity_main);
        mWebView = (WebView) findViewById(R.id.activity_main_webview);
        mWebView.setBackgroundColor(0x00000000);
        mWebView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);


        ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        NetworkInfo mMobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        if((mWifi != null && mWifi.isConnected()) || (mMobile != null && mMobile.isConnected())) {

            WebSettings webSettings = mWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webSettings.setCacheMode(webSettings.LOAD_NO_CACHE);
            mWebView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    findViewById(R.id.splash).setVisibility(View.GONE);
                    findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE);
                }
                public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                    mWebView.loadUrl("file:///android_asset/error.html");
                }
            });
            mWebView.loadUrl(got_url);
        }
        else
        {
            setContentView(R.layout.activity_main);
            mWebView = (WebView) findViewById(R.id.activity_main_webview);
            mWebView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    findViewById(R.id.splash).setVisibility(View.GONE);
                    findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE);
                }
            });
            mWebView.loadUrl("file:///android_asset/error-nointernet.html");
        }

    }

由于Zafar,我最终做了什么:

        public void onPageStarted(WebView view, String url) {
            if(url.equals(certainUrl)) //url returns last requested URL.
            {
                findViewById(R.id.background0).setVisibility(View.GONE);
                findViewById(R.id.background1).setVisibility(View.VISIBLE);
            }
        }
机器人

我得到的是,一旦Webview开始加载,您想加载背景图像。如果是这种情况,可以使用

onPageStarted

并在此处设置图片 如果您可以找到更多解决方案,请查看此链接。如果有其他要求,请回复。

尽管您已完成所需的工作,但我想添加此方法,以在其他类似情况下为您提供帮助。

webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (url.startsWith("abcd://")) {
        // your code
        return true;
    }
    return false;
}
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

加载ajax时是否有特定的jquery方法来执行某些操作?

来自分类Dev

Angular.js,在文档加载时执行某些操作

来自分类Dev

使用setTimeout是否可以确保在NodeJS中执行某些操作?

来自分类Dev

如果当前网址包含某些内容,请执行某些操作

来自分类Dev

EclispeRCP:程序加载后执行某些操作

来自分类Dev

持续检查是否存在并执行某些操作

来自分类Dev

是否可以使用绑定执行某些操作而不能使用on进行操作?

来自分类Dev

jQuery在事件发生时执行某些操作

来自分类Dev

php:如果当前网址包含“ / demo”,请执行某些操作

来自分类Dev

使加载项功能区按钮执行某些操作

来自分类Dev

承诺:执行某些操作,而不管是否解决/拒绝?

来自分类Dev

Laravel 5.2:用户登录后是否执行某些操作?

来自分类Dev

检查数字是否不为None并执行某些操作的Python方法

来自分类Dev

XSLT:识别<xsl:copy>是否执行了某些操作

来自分类Dev

检查div中是否有图像,然后执行某些操作

来自分类Dev

在此图像上执行某些操作后,将加载异步图像-滚动时图像变为错误的图像

来自分类Dev

ule子-当ArrayList为空时执行某些操作

来自分类Dev

模态关闭时执行某些操作(引导程序)

来自分类Dev

Slack API:单击按钮时执行某些操作

来自分类Dev

按下Enter键时如何使函数执行某些操作

来自分类Dev

创建模型实例时,Django会执行某些操作

来自分类Dev

如何使Kivy ActionBar Button在单击时执行某些操作?

来自分类Dev

当输入内容时,使用jQuery执行某些操作

来自分类Dev

更改首选项时,PreferenceActivity会执行某些操作

来自分类Dev

滚动时,如果offsetTop为> = element则执行某些操作

来自分类Dev

MongoDB在执行不同操作时不对某些字段使用索引

来自分类Dev

条件时如何在插入时执行某些操作

来自分类Dev

jQuery:当网站完全加载某些内容时执行脚本

来自分类Dev

是否有可能使on(consolelog事件?每次将文本记录到控制台时都会执行某些操作

Related 相关文章

  1. 1

    加载ajax时是否有特定的jquery方法来执行某些操作?

  2. 2

    Angular.js,在文档加载时执行某些操作

  3. 3

    使用setTimeout是否可以确保在NodeJS中执行某些操作?

  4. 4

    如果当前网址包含某些内容,请执行某些操作

  5. 5

    EclispeRCP:程序加载后执行某些操作

  6. 6

    持续检查是否存在并执行某些操作

  7. 7

    是否可以使用绑定执行某些操作而不能使用on进行操作?

  8. 8

    jQuery在事件发生时执行某些操作

  9. 9

    php:如果当前网址包含“ / demo”,请执行某些操作

  10. 10

    使加载项功能区按钮执行某些操作

  11. 11

    承诺:执行某些操作,而不管是否解决/拒绝?

  12. 12

    Laravel 5.2:用户登录后是否执行某些操作?

  13. 13

    检查数字是否不为None并执行某些操作的Python方法

  14. 14

    XSLT:识别<xsl:copy>是否执行了某些操作

  15. 15

    检查div中是否有图像,然后执行某些操作

  16. 16

    在此图像上执行某些操作后,将加载异步图像-滚动时图像变为错误的图像

  17. 17

    ule子-当ArrayList为空时执行某些操作

  18. 18

    模态关闭时执行某些操作(引导程序)

  19. 19

    Slack API:单击按钮时执行某些操作

  20. 20

    按下Enter键时如何使函数执行某些操作

  21. 21

    创建模型实例时,Django会执行某些操作

  22. 22

    如何使Kivy ActionBar Button在单击时执行某些操作?

  23. 23

    当输入内容时,使用jQuery执行某些操作

  24. 24

    更改首选项时,PreferenceActivity会执行某些操作

  25. 25

    滚动时,如果offsetTop为> = element则执行某些操作

  26. 26

    MongoDB在执行不同操作时不对某些字段使用索引

  27. 27

    条件时如何在插入时执行某些操作

  28. 28

    jQuery:当网站完全加载某些内容时执行脚本

  29. 29

    是否有可能使on(consolelog事件?每次将文本记录到控制台时都会执行某些操作

热门标签

归档