Android项目实战欢迎界面
程序员文章站
2022-07-09 14:57:25
欢迎界面 首先同理把欢迎界面的图片导入到drawable目录下,在导入时 Android Studio 会提示如下 drawable 具体本人尚未弄明白,待理解后会重新补全本部分内容,在此本人选了第一个 然后创建一个包名为activity的包,在activity下创建SplashActivity S ......
欢迎界面
首先同理把欢迎界面的图片导入到drawable目录下,在导入时 android studio 会提示如下
drawable
具体本人尚未弄明白,待理解后会重新补全本部分内容,在此本人选了第一个
然后创建一个包名为activity的包,在activity下创建splashactivity
splashactivity
此时会发现 r 报红,只需要将光标锁定到r之后即会提示需要导入r包,如未提示,则手动敲击 alt+enter 选中 import class 即可导入
r报红
再而处理代码部分
splashactivity package cn.edu.lt.android.boxueguapp.activity; import android.content.intent; import android.content.pm.activityinfo; import android.content.pm.packageinfo; import android.content.pm.packagemanager; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.textview; import java.util.timer; import java.util.timertask; import cn.edu.lt.android.boxueguapp.mainactivity; import cn.edu.lt.android.boxueguapp.r; public class splashactivity extends appcompatactivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_splash); //设置此界面为 // 竖屏 setrequestedorientation(activityinfo.screen_orientation_portrait); init(); } private void init() { textview tv_version = (textview)findviewbyid(r.id.tv_version); try { packageinfo packageinfo = getpackagemanager().getpackageinfo(getpackagename(), 0); tv_version.settext("v" + packageinfo.versionname); } catch (packagemanager.namenotfoundexception e) { e.printstacktrace(); tv_version.settext("v"); } //利用timer让此界面延迟3秒后跳转,timer有一个线程,该线程不断执行task timer timer = new timer(); //timertask实现runnable接口,timertask类表示在一个指定时间内执行的task timertask timertask = new timertask() { @override public void run() {//发送intent实现页面跳转,第一个参数为当前页面的context,第二个参数为要跳转的主页 intent intent = new intent(splashactivity.this, mainactivity.class); startactivity(intent); splashactivity.this.finish();//跳转后关闭当前欢迎页面 } }; timer.schedule(timertask,3000);//调度执行timertask,第二个参数传入延迟时间(毫秒) } }
创建 activity 时同时自动创建了一个布局文件,首先修改为 relativelayout 布局
具体代码如下:
activity_splash.xml <?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:layout_height="match_parent" android:background="@drawable/launch_bg"> <textview android:id="@+id/tv_version" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textcolor="@android:color/white" android:textsize="14sp" android:layout_centerinparent="true"/><!--显示版本号--> </relativelayout> 最后在清单文件 androidmanifest.xml 中配置欢迎界面,将应用入口修改为欢迎界面,再去除 actionbar 效果 androidmanifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.edu.lt.android.boxueguapp"> <application android:allowbackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundicon="@mipmap/ic_launcher_round" android:supportsrtl="true" android:theme="@style/theme.appcompat.noactionbar"> <!--原为android:theme="@style/apptheme"--><!--去除actionbar标题栏--> <activity android:name=".mainactivity"> </activity> <activity android:name=".activity.splashactivity"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest>
推荐阅读
-
Android仿小红书欢迎界面
-
Android项目实战(五十):微信支付 坑总结
-
Android项目实战(五十一):浅谈GreenDao
-
Android项目实战(四十八):架构之组件化开发
-
Laravel 中使用 swoole 项目实战开发案例二 (后端主动分场景给界面推送消息)
-
Android项目实战(五十四):zxing 生成二维码图片去除白色内边距的解决方案
-
Android项目实战(四十九):Andoird 7.0+相机适配
-
Android项目实战(四十五):Usb转串口通讯(CH34xUARTDriver)
-
Android项目实战(五十六):获取WebView加载的url的请求错误码
-
Android项目实战(五十七):Glide 高斯模糊效果