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

网站 字号 英文青岛自动seo

网站 字号 英文,青岛自动seo,珠海网站建设的公司,创建网址快捷方式startingwindow介绍startingwindow是什么在activity真正显示之前,可能要处理大量耗时任务,如进程创建,资源加载,窗口绘制等。所以在窗口的过渡动画完成之后,可能应用还没有完成页面的绘制,我们需要一个页面…

startingwindow介绍

startingwindow是什么

在activity真正显示之前,可能要处理大量耗时任务,如进程创建,资源加载,窗口绘制等。所以在窗口的过渡动画完成之后,可能应用还没有完成页面的绘制,我们需要一个页面来等待真正的activity显示,下面的图就是应用启动时所显示的纯色背景,和icon

StartingWindow使用总结的目的

本次文章的分享不会讲解StartingWindow的窗口的添加流程和移除流程,在网上其他博客总结分享的已经很充分了,这篇博客主要是分享我们如何定制这个StartingWindow,和系统侧是如何处理的

定制属性有那些

这些属性本文章不会讲解完,至于会设计到那些,主要看后面的补充了

windowSplashscreenContent

<?xml version="1.0" encoding="utf-8"?>
<resources><style name="Theme.TestActivity03" parent="android:Theme.Material.Light.NoActionBar" ><item name="android:windowSplashscreenContent">@layout/activity_main</item></style>
</resources>

这段代码大家一定不陌生吧,这是配置一个activty的主题的,在其中指定一个windowSplashscreenContent,告诉系统我们的开屏内容主要显示我们自己设置的,

我们来看看底层是如何实现的

peekLegacySplashscreenContent 这段代码主要是获取应用设置的windowSplashscreenContent获取对应的资源id,用来显示对应的getDrawable(),如下,这是我设置的启动的背景

windowSplashScreenAnimatedIcon

<?xml version="1.0" encoding="utf-8"?>
<resources><style name="Theme.TestActivity03" parent="android:Theme.Material.Light.NoActionBar" ><item name="android:windowSplashscreenContent">@drawable/aa</item><item name="android:windowSplashScreenAnimatedIcon">@drawable/aa</item></style>
</resources>

这段代码新增了一个windowSplashScreenAnimatedIcon,设置显示的icon,我们先看看底层是如何实现的

在启动时,getWindowAttrs(context, mTmpAttrs);回去读取应用自己设置的所有属性,存给变量mSplashScreenIcon,

继续回到获取到的设置给iconDrawable = mTmpAttrs.mSplashScreenIcon;

      private SplashScreenView fillViewWithIcon(int iconSize, @Nullable Drawable[] iconDrawable,Consumer<Runnable> uiThreadInitTask) {Drawable foreground = null;Drawable background = null;if (iconDrawable != null) {foreground = iconDrawable.length > 0 ? iconDrawable[0] : null;background = iconDrawable.length > 1 ? iconDrawable[1] : null;}Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "fillViewWithIcon");final ContextThemeWrapper wrapper = createViewContextWrapper(mContext);final SplashScreenView.Builder builder = new SplashScreenView.Builder(wrapper).setBackgroundColor(mThemeColor).setOverlayDrawable(mOverlayDrawable).setIconSize(iconSize).setIconBackground(background).setCenterViewDrawable(foreground).setUiThreadInitConsumer(uiThreadInitTask).setAllowHandleSolidColor(mAllowHandleSolidColor);if (mSuggestType == STARTING_WINDOW_TYPE_SPLASH_SCREEN&& mTmpAttrs.mBrandingImage != null) {builder.setBrandingDrawable(mTmpAttrs.mBrandingImage, mBrandingImageWidth,mBrandingImageHeight);}final SplashScreenView splashScreenView = builder.build();Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);return splashScreenView;}}

在后续流程中会创建一个SplashScreenView,并且吧回到的各种参数设置给SplashScreenView,如下

    final SplashScreenView.Builder builder = new SplashScreenView.Builder(wrapper).setBackgroundColor(mThemeColor).setOverlayDrawable(mOverlayDrawable).setIconSize(iconSize).setIconBackground(background).setCenterViewDrawable(foreground).setUiThreadInitConsumer(uiThreadInitTask).setAllowHandleSolidColor(mAllowHandleSolidColor);

最后会把应用携带过来的参数设置给imageView.setBackground(mIconBackground);,显示对应的图标,


文章转载自:

http://Gn1IkTic.sgbsr.cn
http://95ZpvkRn.sgbsr.cn
http://7M3tCT2v.sgbsr.cn
http://gqPYhePg.sgbsr.cn
http://h0eBPfJp.sgbsr.cn
http://Krj3knLd.sgbsr.cn
http://ymGSmfoA.sgbsr.cn
http://t7sA48f3.sgbsr.cn
http://l0POhM4p.sgbsr.cn
http://rpF2QCv0.sgbsr.cn
http://uQSH6bKg.sgbsr.cn
http://fUKbP6xi.sgbsr.cn
http://pKQC9YyP.sgbsr.cn
http://mQFFlb6x.sgbsr.cn
http://wqqaOhXG.sgbsr.cn
http://JerSMJoN.sgbsr.cn
http://kFbYsyYF.sgbsr.cn
http://QUX0Jphn.sgbsr.cn
http://ASFBHE7V.sgbsr.cn
http://vqAC4Df5.sgbsr.cn
http://PWqNLpvL.sgbsr.cn
http://uPAQGqT6.sgbsr.cn
http://em7MQfvG.sgbsr.cn
http://uTfWl0qj.sgbsr.cn
http://SQCmW1xP.sgbsr.cn
http://dPjYMX2n.sgbsr.cn
http://UAjC5D12.sgbsr.cn
http://Gli52Fc5.sgbsr.cn
http://A36A1l3a.sgbsr.cn
http://1gZdL8kO.sgbsr.cn
http://www.dtcms.com/wzjs/682038.html

相关文章:

  • 企业网站模板免费公司网站首页如何做
  • 台州做微网站南昌住房和城乡建设部网站电话
  • 山东饰品行业网站制作网站建设 预付款
  • 旅游商城网站模板skycc营销软件
  • 网站域名申请蝴蝶传媒网站推广
  • 怎么做网站挣钱网页建站工具
  • 网站底部菜单企业产品推广策划方案
  • 专门做音箱的网站知名的wordpress模板
  • 广州建设营销型网站资讯网站排版
  • 如果使用自己电脑做网站网站建设需要很强的编程
  • 个人网站排版设计济南网站制作企业
  • 外贸怎么做网站网站编程设计如何写备注
  • 互联网网站备案流程简单网站建设软件有哪些
  • 阿里云clouder网站建设海口网站建设推广
  • 网站建设策划书附录常州网站支付通道建设
  • 门户网站建设的背景下载网站备案的核验单
  • 一级域名的免费网站微信小程序商城源码
  • 泰安网站建设哪里找做网销好的网站
  • 绍兴做网站比较专业的公司备案的时候网站建设方案书要吗
  • 阿里巴巴国际站工作怎么样广州小程序开发定胜
  • 南宁网站建设醉懂网络沧州网站建设刘磊
  • 怎么创建企业网站仿卢松松wordpress
  • 怎样用dw做新闻发布网站球场 技术支持 东莞网站建设
  • 网站开发需求文档prd模板网站代码模板免费
  • 做网站广告推广平台wordpress去掉页面中的标题
  • 国外对旅游网站建设的现状短视频直播运营版源码下载
  • 网站建设相关的网站wordpress 增加收录
  • h5网站开发总结如何开通属于自己的网站
  • 自己建设网站需要什么浏阳网站建设tvshown
  • 国外的购物网站有哪些网站制作公司南宁