闪屏/广告页面的逻辑

来源:互联网 发布:淘宝代销管理 编辑:程序博客网 时间:2024/04/30 23:59

Android中APP闪屏/广告页面的逻辑:postDelayed、removeCallbacks的运用
方法postDelayed的作用是延迟多少毫秒后开始运行,而removeCallbacks方法是删除指定的Runnable对象,使线程对象停止运行。
方法声明如下:

public final boolean postDelayed (Runnable r, long delayMillis) ;

下面是在闪屏页模块用到这两个方法:

public class SplashActivity extends AppCompatActivity {    @Bind(R.id.tvSkip)    TextView tvSkip;    private boolean flag = false;    private Runnable runnable;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_splash);        ButterKnife.bind(this);        runnable = new Runnable() {            @Override            public void run() {                goHome();            }        };        //延迟两秒之后再执行runnable        tvSkip.postDelayed(runnable, 2000);        tvSkip.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                goHome();            }        });    }    /*    * 跳入主页面    */    private synchronized void goHome() {        if (!flag) {            flag = true;            startActivity(new Intent(SplashActivity.this, MainActivity.class));            finish();        }    }    @Override    protected void onDestroy() {        super.onDestroy();        flag = true;        // 停止线程运行        tvSkip.removeCallbacks(runnable);        ButterKnife.unbind(this);    }}
0 0