android⾼仿⽹易,Android项⽬实战教程之⾼仿⽹易云⾳乐启动
页实例代码
前⾔
本⽂主要给⼤家介绍了关于Android⾼仿⽹易云⾳乐启动页的相关内容,这⼀节我们来讲解启动界⾯,效果如下:
⾸次创建⼀个SplashActivity⽤来做启动界⾯,因为创建完项⽬默认是MainActivity做主界⾯,所以需要去掉,将启动配置到同时去掉SplashActivity,并且去掉SplashActivity的标题栏,同时还要设置为全屏。
Activity启动配置
在清单⽂件将启动配置剪贴到SplashActivity:
android:name=".activity.SplashActivity"
android:screenOrientation="portrait"
android:theme="@style/NoActionBar">
布局的话可以说是很简单了,最外层使⽤RelativeLayout,顶部⼀个ImageView让他在⽔平居中,具顶部⼀个距离,这个距离⼤家可以按照⾃⼰的业务需求调整,然后放⼊⼀个TextView让他在⽔平居中,垂直⽅向和⽗布局的底部对齐,同时设置⼀个Margin,接着放⼀个ImageView⽤来显⽰Logo,让他在TextView的上⽅就⾏了:
xmlns:tools="schemas.android/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.urses.music.activity.SplashActivity">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:scaleType="centerCrop"
android:src="@drawable/splash_bg" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="130dp"
android:src="@drawable/splash_banner" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/tv_copyright"
android:layout_centerHorizontal="true"
android:src="@drawable/splash_logo" />
android:id="@+id/tv_copyright"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:layout_marginTop="10dp"
android:text="Copyright © 2018 Ixuea. All Rights Reserved" />
Activity暂时没什么太多的逻辑,只是创建⼀个Handler,然后延时3秒钟进⾏下⼀步,然后在next⽅法中判断是否需要显⽰引导界⾯,是否登录等:
public class SplashActivity extends BaseCommonActivity {
//这样创建有内存泄漏,在性能优化我们具体讲解
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@SuppressWarnings("unused")
public void handleMessage(Message msg) {
next();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
/
/去除状态栏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_splash);
}
@Override
protected void initDatas() {
super.initDatas();
//延时3秒,在企业中通常会有很多逻辑处理,所以延时时间最好是⽤3-消耗的的时间mHandler.postDelayed(new Runnable() {
@Override
public void run() {
android学习教程mHandler.sendEmptyMessage(-1);
}
}, 3000);
}
private void next() {
if (isShowGuide()) {
startActivityAfterFinishThis(GuideActivity.class);
} else if (sp.isLogin()) {
startActivityAfterFinishThis(MainActivity.class);
} else {
startActivityAfterFinishThis(LoginActivity.class);
}
}
/**
* 根据当前版本号判断是否需要引导页
* @return
*/
private boolean isShowGuide() {
Boolean(String.VersionCode(getApplicationContext())),true);
}
}
当前界⾯还可以增加倒计时,⼴告等内容,这部分内容我们在后⾯再讲解。
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对脚本之家的⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论