选中复选框时,我希望颜色为@color/colorprimarylight。我可以这样设置棒棒糖

android:buttonTint="@color/colorPrimaryLight"

在复选框中,但是我不知道如何在棒棒糖之前不做任何改变
    <item name="colorControlActivated">@color/white</item>

在我的主题中。
棒棒糖复选框:
<CheckBox
android:buttonTint="@color/colorPrimaryLight"
android:id="@+id/SwapCheckbox"
android:layout_marginTop="@dimen/margin_top"
android:layout_marginLeft="@dimen/margin_left_right"
android:layout_marginRight="@dimen/margin_left_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

对于棒棒糖之前的任何东西(高于4.0.3):
<CheckBox
android:id="@+id/SwapCheckbox"
android:layout_marginTop="@dimen/margin_top"
android:layout_marginLeft="@dimen/margin_left_right"
android:layout_marginRight="@dimen/margin_left_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

我的应用程序的主题中也有:
<style name="AppTheme" parent="Theme.AppCompat.Light">
//...
<item name="colorControlActivated">@color/white</item>
//...
</style>

我无法更改ColorControlActivated,因为它必须是白色的,才能用于我的ViewPager中的指示器。是否仍要更改我的复选框的背景色(即使它是默认的holo样式,但最好将其设置为@color/colorprimarylight)?

最佳答案

在app compat主题中使用以下属性,如下所示

<style name="AppTheme" parent="Theme.AppCompat.Light">
  <item name="colorAccent">@color/colorAccent</item>
</style>

使用android.support.v7.widget.AppCompatCheckBox instead of CheckBox

10-07 19:24
查看更多