アプリを開いてウェルカム画面に入った後、自動的にホームページに飛び込む解決方法について
2406 ワード
この問題は簡単ですが、これまでチュートリアルを探していなかったので、自分がやった後、わけのわからないバグが山積みになっていました.最初はウェルカムインタフェースでBUTTONを定義して、このBUTTONをクリックしてメインインタフェースにジャンプしましたが、明らかにこれは私が望んでいた効果ではありません.後面はHandlerで実現し、OnCreateメソッドでスレッドを開いてメインインタフェースを起動したいと思っていました.具体的なコードは以下の通りです.太字はこの方法のコアコードで、他はアニメーション効果だけです.
package com.example.grass.intent;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.widget.Button;
import android.widget.RelativeLayout;
public class MainActivity extends AppCompatActivity {
private Button btn_1;
private RelativeLayout rl_root; //
private Handler handler = new Handler(){
public void handleMessage(Message msg){
Intent it = new Intent();
it.setClass(MainActivity.this,HomeActivity.class);// Activity, Activity
MainActivity.this.startActivity(it);
MainActivity.this.finish();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initAnimation();//
new Thread(new Runnable() {
@Override
public void run() {
try{
Thread.sleep(3000);
}catch (Exception e){
}handler.sendEmptyMessage(0);}
}).start();
btn_1 = (Button) findViewById(R.id.button);
btn_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(MainActivity.this,HomeActivity.class);
startActivity(intent);
}
});
}
private void initView() {
setContentView(R.layout.activity_main);
rl_root = (RelativeLayout)findViewById(R.id.rl_splash_root);
// tv_versionName = (TextView) findViewById(R.id.tv_splash_version_name);
}
//
private void initAnimation() {
// ,Alpha ,0.0 ,1.0.
AlphaAnimation aa = new AlphaAnimation(0.0f,1.0f);
aa.setDuration(3000); //3
aa.setFillAfter(true); //
//
rl_root.startAnimation(aa);
}
}