Android 12新特性之获取壁纸主色调并设置系统主题色

本文介绍了Android 12的一个新特性,即根据壁纸主色调自动调整系统主题颜色。通过使用WallpaperManager获取壁纸,然后利用Palette库分析壁纸颜色,最终改变themes_material.xml中的颜色值,实现系统的视觉统一。
摘要由CSDN通过智能技术生成

Android 12新特性之获取壁纸主色调并设置系统主题色

  关注这个问题首先是因为我队友某天吐槽,说整些奇奇怪怪的东西不如整个什么手机自适应手机壳主题。当然这个东西不是那么好实现的,毕竟已经脱离了软件层面涉及到硬件层面了。但是,转念一想,是否可以弄一个自适应壁纸主题,这样就可以统一一下整个系统的观感。Android 12确实满足了这个幻想,在其新特性中,赫然便是一项:用户可根据壁纸主色调更换系统主题色。

img

  首先,我们需要获取当前壁纸。这里有两种方法,第一种是直接访问Android的壁纸目录:(老版本)/data/data/com.android.settings/files/wallpaper,(新版本)/data/system/users/0/wallpaper,这种稍后再说。第二种是使用WallpaperManager类获取当前壁纸。

  1. FLAG_LOCK可获取当前锁屏壁纸
  2. FLAG_SYSTEM可获取当前系统桌面壁纸
WallpaperManager m_WallpaperManager = WallpaperManager.getInstance(this);

BitmapDrawable m_BitmapDrawable = wallpaperManager.getDrawable(); // 默认获取系统壁纸

Bitmap m_BitMap = m_BitmapDrawable<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值