【问题标题】:What is the name of the Material Design Checkbox in android (android.R.drawable.{checkbox})?android (android.R.drawable.{checkbox}) 中的 Material Design Checkbox 叫什么名字?
【发布时间】:2016-09-09 13:34:29
【问题描述】:

如下所示:

我需要这个默认的可绘制对象,以便我可以通过编程方式将其设置为自动生成的复选框,如下所示:

checkBox.setButtonDrawable(R.drawable.checkbox_style);

我需要这个可绘制的复选框,因为带有 Android 4.3 (Jellybean) 的三星 GT-I9300 会覆盖上面的这种样式,如下所示:

这是我的应用主题:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@color/colorPrimary</item>

    <item name="colorControlNormal">#88FFFFFF</item>
    <item name="colorControlActivated">#88FFFFFF</item>
    <item name="colorControlHighlight">@color/colorAccent</item>
    <item name="android:textColorHint">@android:color/white</item>

</style>

请问它叫什么名字,比如android.R.drawable.(...)

【问题讨论】:

标签: android android-layout checkbox


【解决方案1】:
<style name="Widget.CompoundButton.CheckBox">
    <item name="android:background">@android:drawable/btn_check_label_background</item>
    <item name="android:button">?android:attr/listChoiceIndicatorMultiple</item>
</style>

【讨论】:

  • 谢谢。我希望版主不会介意这样感谢你。
  • @MonicaLabbao 不,他们不会。但如果你觉得我的回答有用,你可以接受这个作为答案:)
【解决方案2】:

你想要这样的复选框吗

checkBox.setButtonDrawable(R.drawable.abc_btn_check_material);

或者你可以像这样使用 AppCompatCheckBox

LinearLayout llParent=(LinearLayout)findViewById(R.id.llParent);
AppCompatCheckBox appCompatCheckBox = new AppCompatCheckBox(this);
appCompatCheckBox.setText("agree or not");
llParent.addView(appCompatCheckBox);

并添加对设计支持lib build.gradle文件的依赖

编译'com.android.support:appcompat-v7:23.3.0'

【讨论】:

  • 它可以工作,但我被警告过,drawable 是私有的,它不会动画。不过还是谢谢! :)
  • thanx Monica ,使用这个 AppCompactCheckBox ,它也显示动画,您可以使用 color.xml 中的 colorAccent 更改背景颜色作为材质颜色
【解决方案3】:

如果你想使用默认的drawable,那么不需要设置setButtonDrawable。只需使用 App compart(support v7) 它适用于 Android API 7 到当前 Android API 23(还有动画复选框)。

将此添加到 compile 'com.android.support:appcompat-v7:23.2.0'build.gradle 使用 **App Compart 主题 ** 和 colorAccent

【讨论】:

  • Samsung GT-I9300 with Android 4.3 (Jellybean) 用 Jellybean 覆盖了该主题。我正在为我的问题添加一张图片。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
  • 2019-03-05
相关资源
最近更新 更多