ANdroid 欢迎页面的自动跳转的

需求是这样的 我项目主页有个webview 我想加个 欢迎页面两秒钟自动跳转到主页面
在这两秒钟里 我要让webview变加载这样可以省去webview 的加载时间

要想实现你的效果,那么欢迎页和主页不能是两个Activity,否则主页一定是在欢迎页finish之后显示,不会提前加载。

你需要把欢迎页面也放到主页的Activity里面,显示主页的时候先用一个ImageView显示欢迎页,同时用WebView加载url。使用相对布局,ImageView覆盖在WebView上面,两秒后,隐藏ImageView。

等待两秒可以使用Handler、Timer提供的功能。

new
一个thread,内部sleep两秒,到了就通知UI跳转

new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            Intent intent = new Intent(WelcomMainActivity.this,
                            MainLoginActivity.class);
                            startActivity(intent);
                            WelcomMainActivity.this.finish();
                        }
                    }, 2000);

开启一个thread,几秒种后执行跳转

终于知道你意思了,你在主界面中先加载欢迎页面隐藏掉webview,web.loadUrl(url);
监听web是否加载完毕
{

web.setWebViewClient(new WebViewClient()

{

@Override

public void onPageFinished(WebView view,String url)

{

//加载完毕,隐藏欢迎布局,显示webview
}

});

    }  

1、首先,在主页面(即 所在的页面)的布局文件中添加一个 FrameLayout,并设置该 FrameLayout 的宽高与 WebView 相同。

<WebView
    android:id="@+id/web_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<FrameLayout
    android:id="@+id/welcome_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="gone" />

2、然后,在该页面的 Java 代码中定义一个 Timer 和一个 TimerTask 对象,在 TimerTask 中实现跳转到主页面的操作。同时,在 TimerTask 中调用 WebView 的 loadUrl() 方法,预先加载主页面所对应的 URL。代码如下:

private Timer mTimer;
private TimerTask mTimerTask;

// 在 onCreate() 方法中初始化 Timer
mTimer = new Timer();

// 在 onResume() 方法中启动 TimerTask
mTimerTask = new TimerTask() {
    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // 隐藏欢迎页面容器
                findViewById(R.id.welcome_container).setVisibility(View.GONE);

                // 跳转到主页面
                Intent intent = new Intent(MainActivity.this, MainActivity.class);
                startActivity(intent);
            }
        });
    }
};
mTimer.schedule(mTimerTask, 2000); // 2000 表示两秒钟后跳转

// 在 onPause() 方法中取消 TimerTask
if (mTimer != null) {
    mTimer.cancel();
    mTimer = null;
}
if (mTimerTask != null) {
    mTimerTask.cancel();
    mTimerTask = null;
}

// 在 onWindowFocusChanged() 方法中加载主页面 URL
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        WebView webView = findViewById(R.id.web_view);
        FrameLayout container = findViewById(R.id.welcome_container);

        // 加载主页面 URL
        webView.loadUrl("你的主页 URL");

        // 显示欢迎页面容器
        container.setVisibility(View.VISIBLE);

        // 隐藏 WebView
        webView.setVisibility(View.GONE);
    }
}

3、最后,在主页面的布局文件中为 WebView 添加一个 WebViewClient,并在该 WebViewClient 的 onPageFinished() 回调方法中设置 WebView 可见。代码如下:

<WebView
    android:id="@+id/web_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="gone"
    android:webViewClient="@{new android.webkit.WebViewClient() {
        @Override
        public void onPageFinished(android.webkit.WebView view, String url) {
            super.onPageFinished(view, url);
            view.setVisibility(View.VISIBLE);
        }
    }}" />