相关疑难解决方法(0)

如何获取Theme属性值

是否可以从特定主题获取样式属性值而无需将主题设置为应用程序/活动?(我的意思是在调用之前context.setTheme(..))

android

30
推荐指数
1
解决办法
3万
查看次数

如何从属性引用中检索drawable

我在我的应用程序中定义了主题和样式.图标(可绘制)使用样式文件中的引用定义

<attr name="myicon" format="reference" />
Run Code Online (Sandbox Code Playgroud)

和风格一样

<style name="CustomTheme" parent="android:Theme.Holo">
    <item name="myicon">@drawable/ajout_produit_light</item>
Run Code Online (Sandbox Code Playgroud)

我需要以编程方式检索drawable以在dialogfragment中使用良好的图像.如果我做的话

mydialog.setIcon(R.style.myicon);
Run Code Online (Sandbox Code Playgroud)

我得到一个id等于0,所以没有图像

我试着用类似的东西

int[] attrs = new int[] { R.drawable.myicon};
TypedArray ta = getActivity().getApplication().getTheme().obtainStyledAttributes(attrs);
Drawable mydrawable = ta.getDrawable(0);
mTxtTitre.setCompoundDrawables(mydrawable, null, null, null);
Run Code Online (Sandbox Code Playgroud)

我试过不同的东西,但结果总是0或null: - /

我怎么能这样做?

user-interface android

11
推荐指数
2
解决办法
8176
查看次数

为什么TypedArray应该被回收?

这个答案告诉我,调用recycle()TypedArray 的方法允许它被垃圾收集.我的问题是为什么TypedArray特别需要一个方法来进行垃圾回收?为什么它不能等待像常规对象一样被垃圾收集?

android garbage-collection typedarray

9
推荐指数
1
解决办法
7299
查看次数