我正在开发一个 Android 项目,并尝试检索窗口标题背景样式,然后提取背景颜色/可绘制对象(这样我就可以将它们应用于我的自定义标题栏布局)。我已经能够使用以下代码获得样式的 TYPE_REFERENCE :
TypedValue a = new TypedValue();
getTheme().resolveAttribute(android.R.attr.windowTitleBackgroundStyle, a, true);
if(a.type == TypedValue.TYPE_REFERENCE){
// GOES IN HERE
// Drawable d = getResources().getDrawable(a.resourceId); // THROWS A RESOURCES NOT FOUND EXCEPTION
}
我对如何成功地弄清楚 a 指向的资源是什么以及从那里到颜色/可绘制的资源一无所知(尽管很容易在 Google 中尝试了 2 个小时的咒语)。我假设它是在某处用 XML 定义的样式:我如何才能以编程方式实际获取该样式的属性/属性/设置并获取背景的颜色/Drawable?