Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中使用跳过按钮逐个显示两个启动屏幕_Android - Fatal编程技术网

如何在android中使用跳过按钮逐个显示两个启动屏幕

如何在android中使用跳过按钮逐个显示两个启动屏幕,android,Android,我是android新手。我想显示两个启动屏幕一个接一个与跳过按钮在底部。当用户按下“跳过”按钮时,它将重定向到“主页活动”。有人能告诉我怎么做吗。。。?我将非常感激..我知道如何显示单个启动屏幕: new Handler().postDelayed(new Runnable() { /* * Showing splash screen with a timer. This will be useful when you * want to

我是android新手。我想显示两个启动屏幕一个接一个与跳过按钮在底部。当用户按下“跳过”按钮时,它将重定向到“主页活动”。有人能告诉我怎么做吗。。。?我将非常感激..我知道如何显示单个启动屏幕:

 new Handler().postDelayed(new Runnable() {

        /*
         * Showing splash screen with a timer. This will be useful when you
         * want to show case your app logo / company
         */

        @Override
        public void run() {
            // This method will be executed once the timer is over
            // Start your app main activity
            Intent i = new Intent(SplashScreen.this, PushNotificationMainActivity.class);
            startActivity(i);

            // close this activity
            finish();
        }
    }, SPLASH_TIME_OUT);
}

但是我想要两个启动屏幕。我该怎么做?

创建两个屏幕1和2将按钮“跳过”放在屏幕1上,然后单击“将他重定向到第二个屏幕”,并将“跳过”按钮放在屏幕2上。单击“跳过”,您可以将他重定向到任何您想要的位置

Intent i = new Intent(SplashScreen.this, PushNotificationMainActivity.class);
startActivity(i);
您可以在单击时使用此in按钮,这样它将移动到您想要的任何屏幕上

Intent i = new Intent(SplashScreen.this, PushNotificationMainActivity.class);
startActivity(i);

创建两个屏幕1和2。将“跳过”按钮放在屏幕1上,然后单击“将其重定向到第二个屏幕”,并将“跳过”按钮放在屏幕2上。单击“跳过”,您可以将其重定向到您想要的任何位置

Intent i = new Intent(SplashScreen.this, PushNotificationMainActivity.class);
startActivity(i);
您可以在单击时使用此in按钮,这样它将移动到您想要的任何屏幕上

Intent i = new Intent(SplashScreen.this, PushNotificationMainActivity.class);
startActivity(i);

您可以做的是创建
处理程序
显示第二个屏幕,用户按下跳过按钮,然后显示main活动

final android.os.Handler  handler = new android.os.Handler();


        final Runnable runnable=new Runnable() {
            @Override
            public void run() {

                // go to next screen (second screen in queue)

            }
        };

    handler.postDelayed(runnable,SPLASH_TIME_OUT);
对于第二个屏幕,执行与上面相同的操作

当用户按下跳过按钮时


您可以做的是创建
处理程序
显示第二个屏幕,用户按下跳过按钮,然后显示main活动

final android.os.Handler  handler = new android.os.Handler();


        final Runnable runnable=new Runnable() {
            @Override
            public void run() {

                // go to next screen (second screen in queue)

            }
        };

    handler.postDelayed(runnable,SPLASH_TIME_OUT);
对于第二个屏幕,执行与上面相同的操作

当用户按下跳过按钮时

公共类MainActivity扩展活动{
public static final int Tick=1000;//五秒钟后更改视图ok
公共静态最终完整整数=10000;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
新倒计时(完成,勾选){
公共void onTick(长毫秒未完成){
如果(毫秒直到完成<(完成/2)){
Toast.makeText(MainActivity.this,“布局2可见”,Toast.LENGTH_SHORT.show();
}否则{
Toast.makeText(MainActivity.this,“布局1可见”,Toast.LENGTH_SHORT.show();
}
}
公共无效onFinish(){
Toast.makeText(MainActivity.this,“转到下一个活动”,Toast.LENGTH_SHORT.show();
}
}.start();
}
}
公共类MainActivity扩展活动{
public static final int Tick=1000;//五秒钟后更改视图ok
公共静态最终完整整数=10000;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
新倒计时(完成,勾选){
公共void onTick(长毫秒未完成){
如果(毫秒直到完成<(完成/2)){
Toast.makeText(MainActivity.this,“布局2可见”,Toast.LENGTH_SHORT.show();
}否则{
Toast.makeText(MainActivity.this,“布局1可见”,Toast.LENGTH_SHORT.show();
}
}
公共无效onFinish(){
Toast.makeText(MainActivity.this,“转到下一个活动”,Toast.LENGTH_SHORT.show();
}
}.start();
}
}

由于您知道如何在计时器结束时调用下一个活动,您可以使用以下逻辑:

考虑两个屏幕上的跳过按钮-

SplashActivityOne

在intent中,调用SplashActivityTwo(在计时器结束后)

如果单击跳过按钮-停止计时器(handler.removeCallbacks)-调用HomeActivity

splash活动二

在intent中,调用HomeActivity(在计时器结束后)


如果单击跳过按钮-停止计时器(handler.removeCallbacks)-调用HomeActivity

,因为您知道如何在计时器结束时调用下一个活动,您可以使用以下逻辑:

考虑两个屏幕上的跳过按钮-

SplashActivityOne

在intent中,调用SplashActivityTwo(在计时器结束后)

如果单击跳过按钮-停止计时器(handler.removeCallbacks)-调用HomeActivity

splash活动二

在intent中,调用HomeActivity(在计时器结束后)


如果单击了跳过按钮-停止计时器(handler.removeCallbacks)-调用HomeActivity

在布局文件中添加一个跳过按钮

Button button = (Button)findViewById(R.id.skip);button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
    Intent i = new Intent(SplashScreen.this, PushNotificationMainActivity.class);
        startActivity(i);

        // close this activity
        finish();
}});

在布局文件中添加一个跳过按钮

Button button = (Button)findViewById(R.id.skip);button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
    Intent i = new Intent(SplashScreen.this, PushNotificationMainActivity.class);
        startActivity(i);

        // close this activity
        finish();
}});

这是你问题的最简单解决办法

  public class MainActivity extends AppCompatActivity {

        Runnable runnable;
        private Handler handler;

        public static Intent getIntent(Context context, boolean path) {
            Intent filesIntent = new Intent(context, MainActivity.class);
            filesIntent.putExtra("splash", path);
            return filesIntent;
        }

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            final boolean b = getIntent().getBooleanExtra("splash", false);
            if(b){
                setContentView(R.layout.activity_main1);
            } else {
                setContentView(R.layout.activity_main);
            }

            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);

            handler = new Handler();

            runnable = new Runnable() {
                @Override
                public void run() {
                    if(b){
                        handler.removeCallbacks(runnable);
                        startActivity(new Intent(getApplicationContext(), HomeActivity.class));
                        finish();
                    } else {
                        startActivity(MainActivity.getIntent(MainActivity.this, true));
                        finish();
                    }
                }
            };

            handler.postDelayed(runnable, 3000);
        }

        public void buttonSkip(View view) {
            handler.removeCallbacks(runnable);
            startActivity(new Intent(getApplicationContext(), HomeActivity.class));
            finish();
        }
    }

如果您有任何疑问,请对此发表评论……:)

以下是您问题的最简单解决方案

  public class MainActivity extends AppCompatActivity {

        Runnable runnable;
        private Handler handler;

        public static Intent getIntent(Context context, boolean path) {
            Intent filesIntent = new Intent(context, MainActivity.class);
            filesIntent.putExtra("splash", path);
            return filesIntent;
        }

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            final boolean b = getIntent().getBooleanExtra("splash", false);
            if(b){
                setContentView(R.layout.activity_main1);
            } else {
                setContentView(R.layout.activity_main);
            }

            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);

            handler = new Handler();

            runnable = new Runnable() {
                @Override
                public void run() {
                    if(b){
                        handler.removeCallbacks(runnable);
                        startActivity(new Intent(getApplicationContext(), HomeActivity.class));
                        finish();
                    } else {
                        startActivity(MainActivity.getIntent(MainActivity.this, true));
                        finish();
                    }
                }
            };

            handler.postDelayed(runnable, 3000);
        }

        public void buttonSkip(View view) {
            handler.removeCallbacks(runnable);
            startActivity(new Intent(getApplicationContext(), HomeActivity.class));
            finish();
        }
    }

如果您有任何疑问,请对此发表评论……:)

但是我怎么放跳过按钮呢?但是我怎么放跳过按钮呢。。?