一种APP皮肤统一更换的方法技术

技术编号:17912036 阅读:77 留言:0更新日期:2018-05-10 18:03
本发明专利技术涉及一种APP皮肤统一更换的方法,步骤如下:(1)自定义命名空间;(2)在需要参与换肤的view中添加自定义命名空间并启用;(3)在AttrFactory中定义在换肤过程中需要更改的换肤属性;(4)实现系统的LayoutInflaterFactory接口;重写onCreateView方法;(5)对需要参与换肤的view,将其属性进行解析,支持换肤的属性放入SkinItem中,作为tag设置给view;(6)判断皮肤是否为默认皮肤;(7)定义一个List类型的列表,需要换肤的view添加到集合中。本发明专利技术,无需Activity的重启直接实现皮肤更换,方便快捷,无缝切换主题,APP换肤功能速度快,效果直观,对文字颜色、界面背景、图标样式、色块颜色等能一键切换,便于用户使用。

【技术实现步骤摘要】
一种APP皮肤统一更换的方法
本专利技术涉及APP换肤功能
,具体说是一种APP皮肤统一更换的方法。皮肤统一更换即指APP换肤功能。
技术介绍
现有的Android系统中,在开发APP时,为了满足用户的个性化需求,一般会提供APP换肤功能给用户使用。各种不同操作系统的智能手机均是如此。APP加载不同的皮肤,细化来说就是:要求APP中的不同控件能够在不同的主题下显示不同的样式。例如:文字颜色随主题的不同而更换,界面背景随主题的不同而更换,图标样式随主题的不同而更换,色块颜色随主题的不同而更换,等等。较为常见的主题有日间主题、夜间主题,主要是供用户按环境光线的强弱而手动或自动的选择。这在阅读类APP中最为常见。还有就是针对特定内容定制的主题,大多采用在线主题的方式,需要下载相应的皮肤包。可以更好的满足不同的人群对于界面风格的喜好,满足大家对于个性化主题的需求。现有的APP,大都是通过setTheme设置APP主题,定义不同主题下对应的Theme,但是每次切换都需要重启该Activity,对于用户体验并不友好。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种APP皮本文档来自技高网...
一种APP皮肤统一更换的方法

【技术保护点】
一种APP皮肤统一更换的方法,其特征在于,包括如下步骤:步骤1,通过xmlns自定义命名空间;步骤2,在需要参与换肤的view中添加自定义命名空间并设置启用标志;步骤3,在AttrFactory中定义在换肤过程中需要更改的换肤属性;步骤4,实现系统的LayoutInflaterFactory接口,定义为SkinInflateFactory;重写onCreateView方法,获取view的skin:enable属性值,当设置为true时,认为这个view需要换肤,不需要换肤的view,返回null,使用系统默认的方法创建view,对需要换肤的view,继续执行;步骤5,对需要参与换肤的view,...

【技术特征摘要】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1