选择纯白壁纸,状态栏图标和home界面时间等仍然都是白色,导致看不到。怎样才能让状态栏和launcher小部件识别壁纸颜色,进行对应变化。
这个需求奇葩吧,如果没有提供壁纸颜色接口给系统,那么状态栏怎么可能自动识别到
我就问一个问题,假如背景是斑马线,你的状态栏和图标准备怎么实现。 在黑背景上变白,在白背景上变黑?
你的这个问题在多主题的系统中是比较常见的一种现象。
规范的做法是:每一个应用都要适配多个主题,包括launcher和状态栏,在设置中切换主题的时候,所有的应用进行切换,换一套素材。
而实际上看上去你们的需求并没有那么复杂,似乎只是换个壁纸,所以你在换壁纸的时候,通过android的provider或者Settings.Global写一个全局的数据,
然后在状态栏上应该是SystemUI上获取并监听一下这个值,替换一套素材就好了。
在不能改变系统属性的情况下,我们只能改变壁纸本身,比如给壁纸加一层蒙版------对壁纸图片进行加一层半透明蒙版,然后再设为壁纸
呵呵,我也遇到过类似的情况。
如果是自己开发的app还好说,直接根据背景颜色设置状态栏文字背景颜色即可。
如果要改系统桌面的文字颜色,如果没有手机官方提供的接口,那还不如直接修改壁纸。
要知道,不会修图的代码狗不是好安卓,我等安卓开发,经常遇到美工离线、作图不完美、不会.9图等问题,熟练使用ps才是王道。