【技术实现步骤摘要】
一种APP皮肤统一更换的方法
本专利技术涉及APP换肤功能
,具体说是一种APP皮肤统一更换的方法。皮肤统一更换即指APP换肤功能。
技术介绍
现有的Android系统中,在开发APP时,为了满足用户的个性化需求,一般会提供APP换肤功能给用户使用。各种不同操作系统的智能手机均是如此。APP加载不同的皮肤,细化来说就是:要求APP中的不同控件能够在不同的主题下显示不同的样式。例如:文字颜色随主题的不同而更换,界面背景随主题的不同而更换,图标样式随主题的不同而更换,色块颜色随主题的不同而更换,等等。较为常见的主题有日间主题、夜间主题,主要是供用户按环境光线的强弱而手动或自动的选择。这在阅读类APP中最为常见。还有就是针对特定内容定制的主题,大多采用在线主题的方式,需要下载相应的皮肤包。可以更好的满足不同的人群对于界面风格的喜好,满足大家对于个性化主题的需求。现有的APP,大都是通过setTheme设置APP主题,定义不同主题下对应的Theme,但是每次切换都需要重启该Activity,对于用户体验并不友好。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的 ...
【技术保护点】
一种APP皮肤统一更换的方法,其特征在于,包括如下步骤:步骤1,通过xmlns自定义命名空间;步骤2,在需要参与换肤的view中添加自定义命名空间并设置启用标志;步骤3,在AttrFactory中定义在换肤过程中需要更改的换肤属性;步骤4,实现系统的LayoutInflaterFactory接口,定义为SkinInflateFactory;重写onCreateView方法,获取view的skin:enable属性值,当设置为true时,认为这个view需要换肤,不需要换肤的view,返回null,使用系统默认的方法创建view,对需要换肤的view,继续执行;步骤5,对需要 ...
【技术特征摘要】
1.一种APP皮肤统一更换的方法,其特征在于,包括如下步骤:步骤1,通过xmlns自定义命名空间;步骤2,在需要参与换肤的view中添加自定义命名空间并设置启用标志;步骤3,在AttrFactory中定义在换肤过程中需要更改的换肤属性;步骤4,实现系统的LayoutInflaterFactory接口,定义为SkinInflateFactory;重写onCreateView方法,获取view的skin:enable属性值,当设置为true时,认为这个view需要换肤,不需要换肤的view,返回null,使用系统默认的方法创建view,对需要换肤的view,继续执行;步骤5,对需要参与换肤的view,将其属性进行解析,搜集步骤3中定义的支持换肤的属性放入SkinItem中,并将这个SkinItem作为tag设置给view,以保存这个view对应的需要换肤的属性;当进行换肤操作时,对view的这些属性进行重新设置;所述属性的值必须是引用类型;步骤6,判断皮肤是否为默认皮肤,如果是外部皮肤,则需要重新设置view的换肤的属性值;步骤7,定义一个List类型的列表,命名为mSkinViews,将需要换肤的view添加到集合中。2.如权利要求1所述的APP皮肤统一更换的方法,其特征在于:步骤3中,所述换肤属性至少包括:文字颜色textColor,界面背景background,图标样式src。3.如权利要求2所述的APP皮肤统一更换的...
【专利技术属性】
技术研发人员:王娜,
申请(专利权)人:北京酷我科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。