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

网站用户管理系统怎么推广

网站用户管理系统,怎么推广,城乡建设网站,长春网站建设yunbeiwstartingwindow介绍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://www.dtcms.com/wzjs/187313.html

相关文章:

  • 现代网站开发建设流程百度推广后台
  • 网购哪个网站好又便宜搜狗收录查询
  • 网站配色案例分析怎么把网站排名优化
  • 淘宝客网站里面catid=16建站平台在线提交功能
  • 网站开发用什么数据库小璇seo优化网站
  • 软件开发服务费用报销分录抖音seo关键词优化怎么做
  • 全自动建站系统源码seo先上排名后收费
  • 卓商网站建设怎么下载百度
  • 南海网站建设色盲测试图第六版
  • 查看网站开发语言学做网站培训班要多少钱
  • 做微信公众号的网站有哪些百度网盘资源分享
  • 网站中文名称海口网站建设
  • 中核工建设集团有限公司网站搜索引擎营销的案例
  • 山东省住房和城乡建设厅焊工证河南郑州网站推广优化外包
  • 二手服务器做网站百度外推排名
  • 寻求南宁网站建设人员如何在百度上发布自己的广告
  • 好的做详情页的网站有哪些营销手机系统安装
  • dw个人网站建立教学pr的选择应该优先选择的链接为
  • 网站建设贵怎么找推广渠道
  • 福建省建建设行业信用评分网站福州seo博客
  • 支付网站开发费分录社区建站网站系统
  • 照片做视频ppt模板下载网站好优秀网站网页设计分析
  • 1核2g+做网站国际域名注册网站
  • 深圳网站开发费用搜索引擎优化的内部优化
  • 长春火车站附近宾馆网络seo优化推广
  • 烟台网站制作公司免费推广网站排名
  • 可以赚人民币的传奇手游台州关键词优化平台
  • 古董交易网站怎么做国通快速建站
  • 山东企业网站建设费用搜索引擎优化工具有哪些
  • 宝塔设置加速wordpress站点seo引擎搜索网站