Android项目实战教程之高仿网易云音乐启动页实例代码
GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
【 如果你想靠AI翻身,你先需要一个靠谱的工具! 】
前言
本文主要给大家介绍了关于Android高仿网易云音乐启动页的相关内容,这一节我们来讲解启动界面,效果如下:
首次创建一个SplashActivity用来做启动界面,因为创建完项目默认是MainActivity做主界面,所以需要去掉,将启动配置到同时去掉SplashActivity,并且去掉SplashActivity的标题栏,同时还要设置为全屏。
Activity启动配置
在清单文件将启动配置剪贴到SplashActivity:
1 2 3 4 5 6 7 8 9 10 | <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的上方就行了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <? 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方法中判断是否需要显示引导界面,是否登录等:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 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 ); } } |
当前界面还可以增加倒计时,广告等内容,这部分内容我们在后面再讲解。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
老生常谈ProgressBar、ProgessDialog的用法
下面小编就为大家带来一篇老生常谈ProgressBar、ProgessDialog的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-07-07Android ListView的item背景色设置和item点击无响应的解决方法
在Android开发中,listview控件是非常常用的控件,在大多数情况下,大家都会改掉listview的item默认的外观。2013-11-11
最新评论