闪屏页面开发
对于如图所示的效果,想必大家都熟悉,当我们打开app的时候,通常首页是一个闪屏页,通过5秒钟的倒计时,才能跳转到主页面,这个界面通常来设置一些广告。
布局代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/activity_splash"
android:background="@drawable/bg_sp"
tools:context=".SplashActity">
<Button
android:id="@+id/splash_btn_skip"
android:layout_width="45dp"
android:layout_height="32dp"
android:text="跳过"
android:layout_alignParentRight="true"
android:textStyle="bold"
android:textColor="#fff"
android:background="#30000000"
android:layout_marginTop="30dp"
android:layout_marginRight="30dp"/>
</RelativeLayout>
采用的相对布局这个页面放置一张背景图,布局里放置一个按钮,让它相对父布局于右边。
activity代码
public class SplashActivity extends AppCompatActivity {
private Button btnSkip;
private Handler handler=new Handler();
private Runnable runnableToMain = new Runnable() {
@Override
public void run() {
toMainActivity();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置没有标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_splash);
btnSkip=findViewById(R.id.splash_btn_skip);
initEvent();
//延迟四秒
handler.postDelayed(runnableToMain,4000);
}
public void initEvent(){
btnSkip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//防止Activity被打开两次
handler.removeCallbacks(runnableToMain);
toMainActivity();
}
});
}
/**
* 跳转到登录界面
*/
private void toMainActivity(){
Intent intent = new Intent(this,MainActivity.class);
startActivity(intent);
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
handler.removeCallbacks(runnableToMain);
}
}
通过handler延迟四秒钟,来进行跳转,这样是等待四秒钟自动跳转,也可以通过按钮来实现,给按钮添加一个点击事件,直接进行跳转。
转载:https://blog.csdn.net/glc11223344/article/details/106882885
查看评论