如何在android中使用计时器显示初始屏幕?

如何在android中使用计时器显示初始屏幕?,android,Android,你能告诉我如何在android中使用定时器显示闪屏吗?我可以使用线程显示闪屏,但是线程是个不错的选择,你能告诉我处理这个问题的最佳方法吗? 用这样的线 包com.example.splash_测试 import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; public class MainActivity extends Acti

你能告诉我如何在android中使用定时器显示闪屏吗?我可以使用线程显示闪屏,但是线程是个不错的选择,你能告诉我处理这个问题的最佳方法吗? 用这样的线

包com.example.splash_测试

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;

public class MainActivity extends Activity {
    protected int _splashTime = 5000; 

    private Thread splashTread;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         splashTread = new Thread() {
             @Override
             public void run() {
                 try {                       
                     synchronized(this){
                             wait(_splashTime);
                     }

                 } catch(InterruptedException e) {} 
                 finally {
                     finish();

                     Intent i = new Intent();
                     i.setClass(MainActivity.this, SecondActivity.class);
                             startActivity(i);

                     //stop();
                 }
             }
         };

         splashTread.start();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

简而言之,这段代码对设计计时器非常有帮助。试试这个

new Timer().schedule(new TimerTask() {          
    @Override
    public void run() {
        startActivity(new Intent(getApplicationContext(), MainActivity.class));
    }
}, 5000);
在这里,我将在5秒钟后开始
main活动。

只需将此代码放入splash活动的
onCreate()

您还可以在onCreate中插入:

SystemClock.sleep(TimeUnit.SECONDS.toMillis(3));
p、 检查SplashScreen的实现情况。

out\u marginLeft=“50dp”
android:layout_marginTop=“50dp”
android:layout_marginRight=“50dp”
android:gravity=“center”
android:orientation=“vertical”>
JAVA

Kotlin Way

Timer().schedule(object : TimerTask() {
        override fun run() {
            startActivity(Intent(applicationContext, MainActivity::class.java))
        }
    }, 3000)

你看起来像这个计时器吗?sTimer=new Timer();时间表(new TimerTask(){@Override public void run(){rununuithread(new Runnable(){public void run(){startActivity(new Intent(SplashScreen.this,AppMainActivity.class));finish();}}) }, 2000); // 每2秒更新一次
out_marginLeft="50dp"
            android:layout_marginTop="50dp"
            android:layout_marginRight="50dp"
            android:gravity="center"
            android:orientation="vertical">

            <ProgressBar
                android:id="@+id/progressBar"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/txtProgress"
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:progress="50"
                android:progressTint="@android:color/black" />

            <TextView
                android:id="@+id/txtProgress"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="8dp"
                android:text="Progress"
                android:textColor="@android:color/black" />
        </LinearLayout>  

Java
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, YourActivity.class);
            startActivity(i);

        // close this activity
        finish();
    }
}, 1000);
Timer().schedule(object : TimerTask() {
        override fun run() {
            startActivity(Intent(applicationContext, MainActivity::class.java))
        }
    }, 3000)