我有一个启动画面。我只希望它等待 1 或 2 秒,然后再继续下一个活动。我知道有很多方法,包括处理程序类和 java.util.timer 实现。但这是最简单、最轻松的方法。提前谢谢。
问问题
10767 次
2 回答
15
使用下面的代码。
Splash_Screen_Activity.java
public class Splash_Screen_Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// TODO: Your application init goes here.
Intent mInHome = new Intent(Splash_Screen_Activity.this, InvoiceASAPTabActivity.class);
Splash_Screen_Activity.this.startActivity(mInHome);
Splash_Screen_Activity.this.finish();
}
}, 3000);
}
}
于 2012-08-28T13:42:04.650 回答
0
这是一个示例,其中包括淡入淡出效果。
res/transition/fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="2000" />
res/transition/fade_out.xml
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="2000" />
MainActivity.class
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final android.os.Handler handler = new android.os.Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.transition.fade_in,R.transition.fade_out);
}
}, 3000);
}
}
如需完整的应用示例(具有更多功能),请查看此处。
于 2017-11-11T05:17:24.920 回答