安卓开发笔记(二十六):Splash实现首页快速开屏功能
2024-10-14 21:05:48
我们在进行安卓开发的时候,首页开有两种方式,一种是利用handler将一个活动进行延时,时间到达之后软件则会跳转到第二个活动当中。而另一种方法则是更加常用的方法,利用splash实现首页的快速开屏,这种开屏方式比handler的方式传入图片的速度更快,出现白屏的时间更少,也是谷歌在2018开发者大会当中所推荐的方式。因此我们来看看这是怎么实现的。
一.MainActivity.java
这个程序是我们第一个开屏界面所需要的程序
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//隐藏状态栏
getSupportActionBar().hide();//隐藏标题栏
setContentView(R.layout.activity_main);
Thread myThread=new Thread(){//创建子线程
@Override
public void run() {
try{
sleep();//使程序休眠五秒
Intent it=new Intent(getApplicationContext(),PrimaryColor.class);//启动MainActivity,之后将活动跳转到PrimaryColor.java
startActivity(it);
finish();//关闭当前活动
}catch (Exception e){
e.printStackTrace();
}
}
};
myThread.start();//启动线程
} }
二.同时查看AndroidMenifest.java文件为:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lenovo.deeplove"> <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/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".PrimaryColor"></activity>
</application> </manifest>
这样就实现了我们的splash快速开屏,其运行效果如下,比用handler确实快多了,我们可以清楚地看到,鼠标一点击这个软件,立马图片图片就会弹跳出来,而不会有任何的加载白屏现象发生:
最新文章
- java并发编程(十八)阻塞队列和阻塞栈
- 移动web app开发必备 - 异步队列 Deferred
- SqlBulkCopy批量添加数据
- (原创)MongoDB之NoSQL简介
- [No000034]知乎-长期接收碎片化知识有什么弊端?
- Git 常用几个操作
- Linux内核中的常用宏container_of
- oracle expdp 无法导出SYS下特定TABLE
- sql存储过程通过ID删除两表中的数据。
- UVA 796	Critical Links(无向图求桥)
- [编织消息框架][JAVA核心技术]动态代理应用9-扫描class
- D3中的each() 以及svg defs元素 clipPath的使用
- Codeforces Global Round 1 A~F
- SOUI开发应用展示2
- 记一次深度系统安装至windows系统盘提示挂载为只读模式问题
- 自学Zabbix13.2 分布式监控proxy配置
- 错误<;BEA-101165>; <;Could not load user defined filter in web.xml
- openstack项目【day23】:openstack组件介绍
- springmvc+jquery实现省市区地址下拉框联动
- jmeter—打开jmx报com.thoughtworks.xstream.converters.ConversionException