スプラッシュ画面があります。1〜2秒待ってから、次のアクティビティに1回だけ移動します。ハンドラークラスや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 に答える