gpt4 book ai didi

android - 如何在代码中获取 attr 引用?

转载 作者:IT王子 更新时间:2023-10-28 23:50:09 27 4
gpt4 key购买 nike

我希望通过代码从属性中获取指向引用。在我的 xml 布局中,我可以像这样轻松获得引用的可绘制对象:

android:background="?attr/listItemBackground"

属性引用由我的主题设置。我正在寻找是否可以通过代码获取引用的可绘制对象。

我可以通过创建样式 attr 并读取自定义 View 中的值来解决此问题,但在这种情况下,我想弄清楚这是否可能不做所有这些。我认为这是可能的,但我还没有找到获取该属性引用的方法。

谢谢!

最佳答案

这就是你的做法:

// Create an array of the attributes we want to resolve
// using values from a theme
int[] attrs = new int[] { R.attr.listItemBackground /* index 0 */};

// Obtain the styled attributes. 'themedContext' is a context with a
// theme, typically the current Activity (i.e. 'this')
TypedArray ta = themedContext.obtainStyledAttributes(attrs);

// To get the value of the 'listItemBackground' attribute that was
// set in the theme used in 'themedContext'. The parameter is the index
// of the attribute in the 'attrs' array. The returned Drawable
// is what you are after
Drawable drawableFromTheme = ta.getDrawable(0 /* index */);

// Finally, free the resources used by TypedArray
ta.recycle();

关于android - 如何在代码中获取 attr 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9398610/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com