android - 动态创建的单选按钮或复选框不使用颜色强调

标签 android themes android-5.0-lollipop android-appcompat

使用 v21 AppCompat,我们可以设置自定义颜色主题,如下所示:

<style name="Theme.MyTheme" parent="Theme.AppCompat">
    <!-- customize the color palette -->
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
</style>

但我有一堆动态创建的复选框和单选按钮它们不是从 xml 扩展。这些动态创建的对象不继承我指定的颜色重点。我该怎么做才能正确设置这些颜色重点?

最佳答案

除了创建一个只有一个 CheckBox 的布局文件并对其进行扩充之外,您无能为力。

正如开发者网站所述: Material 主题设计只能在使用布局充气器加载 View 时应用。

这是因为新的 Material Design backport 与布局膨胀过程 Hook 。

来源:http://android-developers.blogspot.nl/2014/10/appcompat-v21-material-design-for-pre.html

编辑:
在 AppCompat v7 的较新版本 22.1+ 中,可以动态创建 CheckBox 和 RadioButton 等小部件(不再隐藏/内部 API)。

目前支持这些小部件:

  • AppCompatAutoCompleteTextView
  • AppCompatButton
  • AppCompatCheckBox
  • AppCompatCheckedTextView
  • AppCompatEditText
  • AppCompatMultiAutoCompleteTextView
  • AppCompatRadioButton
  • AppCompatRatingBar
  • AppCompatSpinner
  • AppCompatTextView
  • AppCompatSeekBar(自 23.1 起)
  • AppCompatImageButton(自 23.1 起)
  • AppCompatImageView(自 23.1 起)

关于android - 动态创建的单选按钮或复选框不使用颜色强调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26718327/

相关文章:

linux - 如何在 Linux Ubuntu 上重置 yakuake 配置?

android - 工具栏不显示溢出图标

android - Activity 未收到来自服务的本地广播

javascript - touchstart 上没有原始事件

安卓服务自动停止

themes - 在 Notepad++ 中更改功能工具提示的背景颜色

php - prestashop 1.7 上的 Prestashop1.6 主题

android - Lollipop 中工具栏的背景色是正常的,但 Kitkat 中是白色的

android - 如何导入 RecyclerView for Android L-preview

android - 如何为媒体播放器制作锁屏通知