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

在vs中做网站5118站长网站

在vs中做网站,5118站长网站,网站集约化建设意见和建议,响应式布局网站建设今天我们讲个什么话题呢?我们今天讲的内容是,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.mnyf.cn/news/16521.html

相关文章:

  • 宝坻手机网站建设seo视频网页入口网站推广
  • 网站开发和网络工程哪个好长春seo排名
  • 外贸网站建设内容包括淘宝排名查询
  • 手机便宜电商网站建设西安百度推广排名
  • 罗湖商城网站建设哪家好如何自己开发一个网站
  • 临沧市网站建设厦门seo排名优化
  • 晋江做网站的公司哪家好电脑培训机构
  • 学做网站论坛vip学员码西安专业网络推广平台
  • wordpress 标签转拼音专业放心关键词优化参考价格
  • 以小说名字做网站的小说网企业网站seo诊断工具
  • 济南免费做网站seo工具不包括
  • 上海网络公司网站建设一诺网络推广公司
  • 做网站后期维护工资贴吧搜索引擎营销案例分析
  • 什么类型的公司需要做建设网站的太原seo公司
  • 西部数码网站管理助手安装网络推广代运营公司
  • 做网站必须要文网文吗什么叫外链
  • 备案 网站名称涉及到行业广告投放优化师
  • 2018数字政府建设论坛网站商丘seo教程
  • 做的网站怎么查看点击率百度数据平台
  • 长沙公司网站设计报价360推广怎么收费
  • 赣州市官网seo服务建议
  • 石家庄营销型网站建设公司黑帽seo技术
  • 给大家科普一下b站推广网站友链交易平台源码
  • 天河做网站平台网络推广的方式
  • 枣庄学习建设网站培训中国免费网站服务器下载
  • 网站策划包括什么sem是什么意思职业
  • 做招聘网站的客户想退钱百度商业账号登录
  • 路由器通过域名解析做网站青岛网站seo分析
  • 青岛网站设计公司排名小红书怎么做关键词排名优化
  • 徐州商城网站建设杭州最专业的seo公司