当前位置: 首页 > news >正文

中交路桥建设有限公司资质长春企业网站制作优化

中交路桥建设有限公司资质,长春企业网站制作优化,WordPress抓去微信,...温岭做网站今天我们讲个什么话题呢?我们今天讲的内容是,Android12新启动页的支持API。 启动页我想大家都不陌生吧,通常的写法就是先创建一个SplashActivity,在onCreate中 Handler(Looper.getMainLooper()).postDelayed({// 在这里跳转主界…

今天我们讲个什么话题呢?我们今天讲的内容是,Android12新启动页的支持API。

启动页我想大家都不陌生吧,通常的写法就是先创建一个SplashActivity,在onCreate中

Handler(Looper.getMainLooper()).postDelayed({// 在这里跳转主界面
}, 2000)

,对吧?

Android开发本不使用启动页,结果就被我们一些大厂玩坏了,比较有名的就是腾讯QQ的那只企鹅,估计是为了体现品牌形象,或是为了方便打广告,于是就强加了一个启动页。这样一来倒好,各个互联网平台纷纷效仿,人家技术好倒罢了,一些新入行的小白也开始这样写,于是就引出了启动黑屏或白屏一段时间等问题,这里我就不多吐槽了。

奇怪的是,Android官方现在还真搞了这么一个启动页的API,目的应该不是为了方便打广告,而是保证最快打开一个页面展示给用户,然后耗时的延后加载。不要让用户觉得卡顿,从而引发不好的用户体验。

言归正题,怎么使用呢?在此之前,我们要知道冷启动、温启动和热启动。冷启动就是应用完全杀死或从未启动,所有东西都要从0加载,温启动就是应用退出到后台后,栈顶的Activity已经被销毁,需要重建界面。而热启动就是退出后台没多久,可以继续使用的时候。

我们要引入这么一个包

implementation 'androidx.core:core-splashscreen:1.0.0-beta02'

然后在MainActivity中加入

class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {val splashScreen = installSplashScreen()super.onCreate(savedInstanceState)splashScreen.setKeepOnScreenCondition {SystemClock.sleep(2000)false}setContentView(R.layout.activity_main)}
}

installSplashScreen()最好在onCreate之前。setKeepOnScreenCondition如果返回false,就走后面的代码,如果返回true,就一直卡在启动页,需要手动跳到下一个界面。所以,我们可以在返回false之前做一些初始化和加载操作。这样写了确实使用了SplashScreen啊,但是不好看啊,于是我们要改一下闪屏的样式。在themes.xml中

<resources xmlns:tools="http://schemas.android.com/tools"><style name="Theme.MyApplication" parent="Theme.MaterialComponents.DayNight.DarkActionBar"><!-- Primary brand color. --><item name="colorPrimary">@color/purple_500</item><item name="colorPrimaryVariant">@color/purple_700</item><item name="colorOnPrimary">@color/white</item><!-- Secondary brand color. --><item name="colorSecondary">@color/teal_200</item><item name="colorSecondaryVariant">@color/teal_700</item><item name="colorOnSecondary">@color/black</item><!-- Status bar color. --><item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item></style><style name="Theme.App.MyStarting" parent="Theme.SplashScreen"><item name="android:windowBackground">@drawable/bg_splash</item><item name="postSplashScreenTheme">@style/Theme.MyApplication</item></style>
</resources>

我们要加入一个继承Theme.SplashScreen的主题Theme.App.MyStarting,然后在AndroidManifest.xml指定给MainActivity。然后把原来真正的MainActivity主题,使用postSplashScreenTheme指向原来的主题Theme.MyApplication。

我们可以使用kotlin的协程来请求一些必要的配置数据,然后再在setKeepOnScreenCondition返回false,而非写死的一段时间,这样启动页是否更加优雅了呢?

Android12的系统会自动给所有应用加入一个启动页,就是中央显示一个小logo的那种,我们自己做了适配就不会在Android12上显示两个启动页了。

http://www.yayakq.cn/news/76792/

相关文章:

  • 佛山网站建设公司大全wordpress调用指定菜单
  • 做家教中介网站赚钱吗?电子商务企业网站的推广方式
  • gl账号注册网站小程序商城怎么开通
  • 网站外链怎么做永久免费的网站软件
  • 建设银行网站的特点优势wordpress小程序音频插件
  • 定制家具网站平台临沂品牌网站制作
  • 网站开发网页设计js小程序赚钱的几种方法
  • 东莞网站设计知名 乐云践新淘宝代运营公司排名
  • 沭阳住房和城乡建设局网站如何对产品进行推广
  • 安徽省建设工程安全协会网站网站建设方案和报价
  • 网站建设哪个公司好上海新站专家网络公司
  • 网站如何接广告最佳wordpress主机
  • 做网站用discuz还是wp月饼营销软文
  • 网站建设跳转页面怎么弄网站运营专员岗位要求
  • 视频网站后台登陆微信营销的方式有哪些
  • 网站建设信息科技公司重庆网站建设jccit
  • 专门做有机食品的网站开发平台多少钱
  • 设计教程网站有哪些如何破解网站后台网址
  • 婚纱网站内容制作详情页设计 制作
  • 多国语言外贸网站模板网站开发有什么好的介绍
  • 如何用工控做网站西山网站建设
  • 网站建设人力调配范文产品线上推广方式
  • 福州企业如何建网站wordpress 博客插件
  • zhongwen网站模板爱城市网app官方下载
  • 广州网站设计成功柚米科技uc网站模板
  • 汉中专业做网站app外包流程
  • 百度网站的域名地址环球贸易网官网
  • 鞍山网站建设营销不用写代码做网站软件
  • 联客易外贸网站建设推广郑州做网站公
  • 北京网站建设华网天下科技郑州中原影视城