gpt4 book ai didi

android - AppCompat 上的 TextView 色调

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:13 29 4
gpt4 key购买 nike

我用 TextView 制作了一些复选框和单选按钮,但它们在 Lollipop 之前没有着色。

我的 TextView 扩展 AppCompatCheckedTextView,样式如下:

<style name="CheckBoxStyle" parent="android:Widget.TextView">
<item name="android:textAppearance">?android:attr/textAppearance</item>
<item name="android:drawableRight">?android:attr/listChoiceIndicatorMultiple</item>
<item name="android:drawableEnd">?android:attr/listChoiceIndicatorMultiple</item>
<item name="android:clickable">true</item>
<item name="android:background">?attr/selectableItemBackground</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingTop">8dp</item>
<item name="android:paddingBottom">8dp</item>
</style>

并且我在我的主题中定义了我的口音:

<style name="AppTheme.Platform.NoActionBar" parent="Theme.AppCompat.NoActionBar">
<item name="android:selectableItemBackground">@drawable/press_overlay_dark</item>
<item name="android:borderlessButtonStyle">@style/BorderlessButton</item>

<item name="android:colorAccent">@color/color_accent</item>
<item name="colorAccent">@color/color_accent</item>
</style>

我正在针对 v21 进行构建,至少使用 v16 并使用 AppCompat v7-22.1.1。我的 Activity 扩展 AppCompatActivity

Genymotion 4.1.1 Nexus 5 5.1.1

最佳答案

对于 Api 级别 23 >= android:drawableTint="@color/colorPrimary"

对于 Api 级别 < Api 级别 23:

Java

private void setTextViewDrawableColor(@RecentlyNonNull TextView textView,@ColorRes int color) {
for (Drawable drawable : textView.getCompoundDrawables()) {
if (drawable != null) {
drawable.setColorFilter(new PorterDuffColorFilter(getColor(color), PorterDuff.Mode.SRC_IN));
}
}
}

使用: setTextViewDrawableColor(txtMyDemoText,R.color.colorPrimary)


Kotlin 扩展函数

  fun TextView.setDrawableColor(@ColorRes color: Int) {
compoundDrawables.filterNotNull().forEach {
it.colorFilter = PorterDuffColorFilter(getColor(context, color), PorterDuff.Mode.SRC_IN)
}
}

使用: txtMyDemoText.setDrawableColor(R.color.colorPrimary)

关于android - AppCompat 上的 TextView 色调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30671860/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com