java - API < 21 的 Android 复选框按钮样式
问题描述
我为下面的复选框添加了样式
<style name="SurveyCheckBox" >
<item name="colorControlNormal">@color/colorPrimaryLight</item>
<item name="colorControlActivated">@color/colorSecondary</item>
<item name="colorControlHighlight">@color/colorSecondaryDark</item>
</style>
它工作得很好,但我还为在回收站视图中动态创建的复选框添加了这种样式。在这种情况下,样式不会影响复选框。为了解决这个问题,我在项目名称前添加了“android:”。
<style name="SurveyCheckBox" >
<item name="android:colorControlNormal">@color/colorPrimaryLight</item>
<item name="android:colorControlActivated">@color/colorSecondary</item>
<item name="android:colorControlHighlight">@color/colorSecondaryDark</item>
</style>
此属性在 API >=21 中有效,但在 <21 中无效。这个问题有什么解决办法吗?
recycler_view_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:id="@+id/survey_check_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="left|center"
android:layout_weight="8"
android:textColor="@color/colorOnBackground"
android:textSize="16sp" />
<CheckBox
android:id="@+id/survey_check_box"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:theme="@style/SurveyCheckBox" /> </LinearLayout>
解决方案
你试过用android.support.v7.widget.AppCompatCheckBox
代替CheckBox
吗?
推荐阅读
- java - 使用 Thymeleaf 实现 JPA 验证消息国际化
- php - 'ImagickException'、'NoDecodeDelegateForThisImageFormat `TMP'@error/constitute.c/ReadImage/501'
- java - Spring Boot & Hibernate - x 实例的标识符已更改为 null
- r - 如何获得充满随机数的矩阵以排除负数?
- laravel - 从 js 发布时 Laravel api CORS 错误
- windows-10 - “运行|调试”按钮未出现在 Visual Studio Code Java 程序上
- wordpress - Woocommerce Add_Rewrite_Rule 不适用于商店页面
- python - 操作系统的 Azure python sdk 列表
- javascript - 如何创建一个函数来计算集合中的项目并将计数存储在与包含相关项目的数组平行的数组中?
- c++11 - 如何将点云从文件馈送到 ROS 中的 grid_map