Android获取Theme的背景颜色

本文介绍两种在Android应用中获取当前主题颜色的方法。第一种方法使用`obtainStyledAttributes`来获取背景色和主要文本颜色。第二种方法通过`resolveAttribute`直接获取特定主题颜色属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


安卓代码中找到当前主题颜色方法,还有其他方法希望能够赐教
第一种方法
TypedArray array = getTheme().obtainStyledAttributes(new int[] {
        android.R.attr.colorBackground,
        android.R.attr.textColorPrimary,
});
int backgroundColor = array.getColor(0, 0xFF00FF);
int textColor = array.getColor(1, 0xFF00FF);
array.recycle();

第二种方法

/**
 * 获取主题颜色
 * @return
 */
public int getColorPrimary(){
    TypedValue typedValue = new  TypedValue();
    getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true);
    return typedValue.data;
}

/**
 * 获取主题颜色
 * @return
 */
public int getDarkColorPrimary(){
    TypedValue typedValue = new  TypedValue();
    getTheme().resolveAttribute(R.attr.colorPrimaryDark, typedValue, true);
    return typedValue.data;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值