【问题标题】:how to increase timer of splash screen?如何增加启动画面的计时器?
【发布时间】:2013-06-19 14:55:35
【问题描述】:

如何增加启动画面的计时器?我需要它慢一点。

public class MainActivity extends Activity {

private Handler mHandler = new Handler();

ImageView imageview;
int alpha = 255;
int b = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    imageview = (ImageView) this.findViewById(R.id.imageView1);     

    imageview.setAlpha(alpha);

    new Thread(new Runnable() {
        public void run() {
            initApp();

            while (b < 2) {
                try {
                    if (b == 0) {
                        Thread.sleep(1000);
                        b = 1;
                    } else {
                        Thread.sleep(50);
                    }

                    updateApp();

                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }

        }
    }).start();

    mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            imageview.setAlpha(alpha);
            imageview.invalidate();

        }
    };

}

public void updateApp() {
    alpha -= 5;

    if (alpha <= 0) 
        {
            b = 2;          
            Intent in = new Intent(this, TabsLayoutActivity.class);
            startActivity(in);
            this.finish();
        }
    mHandler.sendMessage(mHandler.obtainMessage());

}   
public void initApp(){       

}

  }

【问题讨论】:

    标签: android


    【解决方案1】:

    您也可以将 Handler 用于启动画面,如下所示..

    Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
    
            public void run() {
                // TODO Auto-generated method stub
                finish();
                Intent menu = new Intent(getBaseContext(), MainMenu.class);
                startActivity(menu);
            }
        }, 3000);
    

    这里3000 = 3秒。您可以根据需要替换时间。希望对您有所帮助。

    【讨论】:

    • @lovely guy..永远欢迎..:) 如果答案是真的,你可以接受。
    • 是的,你可以做到。请参考这个链接..*.com/questions/14052209/…
    【解决方案2】:

    增加睡眠时间

     Thread.sleep(3000);  /// 3000 milli seconds i.e 3 sec 
    

    如果你想要更多,就增加这个数字。

    【讨论】: