API <21的Android复选框按钮样式

时间:2018-11-26 14:15:04

标签: java android checkbox android-recyclerview android-styles

我为下面的复选框添加了样式

<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>

1 个答案:

答案 0 :(得分:0)

您尝试使用android.support.v7.widget.AppCompatCheckBox而不是CheckBox吗?

相关问题