Android项目实战教程之高仿网易云音乐启动页实例代码
前言
本文主要给大家介绍了关于Android高仿网易云音乐启动页的相关内容,这一节我们来讲解启动界面,效果如下:

首次创建一个SplashActivity用来做启动界面,因为创建完项目默认是MainActivity做主界面,所以需要去掉,将启动配置到同时去掉SplashActivity,并且去掉SplashActivity的标题栏,同时还要设置为全屏。
Activity启动配置
在清单文件将启动配置剪贴到SplashActivity:
<activity android:name=".activity.SplashActivity" android:screenOrientation="portrait" android:theme="@style/NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
布局的话可以说是很简单了,最外层使用RelativeLayout,顶部一个ImageView让他在水平居中,具顶部一个距离,这个距离大家可以按照自己的业务需求调整,然后放入一个TextView让他在水平居中,垂直方向和父布局的底部对齐,同时设置一个Margin,接着放一个ImageView用来显示Logo,让他在TextView的上方就行了:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.ixuea.android.courses.music.activity.SplashActivity"> <ImageView 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" /> <ImageView 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" /> <ImageView 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" /> <TextView android:id="@+id/tv_copyright" style="@style/CopyrightText" 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" /> </RelativeLayout>
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) {
super.onCreate(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() {
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() {
return sp.getBoolean(String.valueOf(PackageUtil.getVersionCode(getApplicationContext())),true);
}
}
当前界面还可以增加倒计时,广告等内容,这部分内容我们在后面再讲解。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
Android studio 使用Debugger问题(代码中含有ndk)
这篇文章主要介绍了Android studio 使用Debugger问题(代码中含有ndk),非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-11-11
Android 中基于TabLayout+ViewPager实现标签卡效果
这篇文章主要介绍了Android 中基于TabLayout+ViewPager实现标签卡效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-12-12
Android RecyclerView实现吸顶动态效果流程分析
RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。接下来讲解RecyclerView的用法2022-12-12
Android 通过代码设置、打开wifi热点及热点连接的实现代码
这篇文章主要介绍了Android 通过代码设置、打开wifi热点及热点连接的实现代码,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下2018-05-05
Android检测手机中存储卡及剩余空间大小的方法(基于Environment,StatFs及DecimalFormat
这篇文章主要介绍了Android检测手机中存储卡及剩余空间大小的方法,基于Environment,StatFs及DecimalFormat实现该功能,具有一定参考借鉴价值,需要的朋友可以参考下2016-01-01
Android Tween动画之RotateAnimation实现图片不停旋转效果实例介绍
Android中如何使用rotate实现图片不停旋转的效果,下面与大家共同分析下Tween动画的rotate实现旋转效果,感兴趣的朋友可以参考下哈2013-05-05


最新评论