5

我有一个扩展 Activity 并以编程方式添加一些 View 项目的类。

CheckBox checkBox = new CheckBox(this, null, android.R.style.Widget_CompoundButton_Star);

我想设置一些样式为 Android SDK 星星的复选框。将其样式设置为 Widget_CompoundButton_Star 后,我看不到任何复选框。尽管直接放入 xml 时,该 SDK 样式显然有效。

我在这里错过了什么吗?谢谢

// 正如普拉尼亚尼所说。使用android.R.attr.starStyle代替有效。

4

3 回答 3

11

您可以设置样式以使用 ContextThemeWrapper 以编程方式查看。

CheckBox mCheckBox = new CheckBox(new ContextThemeWrapper(context, R.style.MyCheckBox));
于 2017-05-13T09:39:03.770 回答
5

我来到这里是为了寻找 CheckBox 的文本而不是 Drawable 的样式,我通过另一种方式找到了解决方案。但是,嘿!让我分享解决方案给未来的自己。

代替:

CheckBox cb = new CheckBox(this, null, R.style.yourstyle);

采用:

CheckBox cb = new CheckBox(this);
cb.setTextAppearance(this, R.style.yourstyle);

希望它有助于解决问题的主题!

于 2015-07-28T15:09:13.037 回答
0

这是我的工作解决方案:

CheckBox checkBox = new CheckBox(new ContextThemeWrapper(this, R.style.CheckBoxStyle))
于 2022-02-12T16:15:36.743 回答