如何在android.support.design.chip.Chip中设置文字颜色?
How to set text color in android.support.design.chip.Chip?
<android.support.design.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:checked="true"
android:padding="4dp"
android:textAppearance="?android:textAppearanceSmall"
app:chipBackgroundColor="@color/selector"
app:chipText="Test"
app:chipIconEnabled="true"
app:chipIconSize="20dp" />
在 XML 中没有像这样的属性:
chipTextColor
以编程方式 SpannableString 不工作:
SpannableStringBuilder builder = new SpannableStringBuilder();
String numeric = getString(R.string.patient_list_order_date);
SpannableString whiteSpannable= new SpannableString(numeric);
whiteSpannable.setSpan(new ForegroundColorSpan(Color.WHITE), 0, numeric.length(), 0);
builder.append(whiteSpannable);
chip.setChipText(builder);
public class Chip extends AppCompatCheckBox implements
ChipDrawable.Delegate
Chips
是表示属性、文本、实体或操作的紧凑元素。目前没有 app:chipTextColor
属性。
仅供参考
Material 设计色彩系统可用于创建反映您的品牌或风格的色彩主题。
阅读关于 The color system
的官方指南。
注意
你可以试试 ForegroundColorSpan
演示版
SpannableString whiteSpannable= new SpannableString(numeric);
int color = getResources().getColor(R.color.your_color_name);
ForegroundColorSpan fcs =new ForegroundColorSpan(color);
whiteSpannable.setSpan(new
ForegroundColorSpan(Color.WHITE),0,numeric.length(), 0);
builder.append(whiteSpannable);
chip.setChipText(builder);
我设法在 28.0.0-alpha3 中设置了文本颜色,如下所示:
chip.setChipText(text);
chip.setTextAppearanceResource(R.style.ChipTextStyle_Selected);
并使用这些参数创建样式:
<style name="ChipTextStyle_Selected">
<item name="android:textSize">13sp</item>
<item name="android:textColor">@color/white</item>
</style>
您可以简单地在 xml 中使用 android:textColor,例如:
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"/>
或者您可以以编程方式使用:
val chip = view.findViewById<Chip>(R.id.chip)
chip.setTextColor(Color.WHITE)
在支持库版本 28 中,您可以使用此代码为芯片中的文本设置颜色
android:textColor="#FFFFFF"
此代码用于在芯片中写入文本
android:text="example"
<android.support.design.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Choice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:checked="true"
android:padding="4dp"
android:textAppearance="?android:textAppearanceSmall"
app:chipBackgroundColor="@color/selector"
app:chipText="Test"
app:chipIconEnabled="true"
app:chipIconSize="20dp" />
在 XML 中没有像这样的属性:
chipTextColor
以编程方式 SpannableString 不工作:
SpannableStringBuilder builder = new SpannableStringBuilder();
String numeric = getString(R.string.patient_list_order_date);
SpannableString whiteSpannable= new SpannableString(numeric);
whiteSpannable.setSpan(new ForegroundColorSpan(Color.WHITE), 0, numeric.length(), 0);
builder.append(whiteSpannable);
chip.setChipText(builder);
public class Chip extends AppCompatCheckBox implements ChipDrawable.Delegate
Chips
是表示属性、文本、实体或操作的紧凑元素。目前没有 app:chipTextColor
属性。
仅供参考
Material 设计色彩系统可用于创建反映您的品牌或风格的色彩主题。
阅读关于 The color system
的官方指南。
注意
你可以试试 ForegroundColorSpan
演示版
SpannableString whiteSpannable= new SpannableString(numeric);
int color = getResources().getColor(R.color.your_color_name);
ForegroundColorSpan fcs =new ForegroundColorSpan(color);
whiteSpannable.setSpan(new
ForegroundColorSpan(Color.WHITE),0,numeric.length(), 0);
builder.append(whiteSpannable);
chip.setChipText(builder);
我设法在 28.0.0-alpha3 中设置了文本颜色,如下所示:
chip.setChipText(text);
chip.setTextAppearanceResource(R.style.ChipTextStyle_Selected);
并使用这些参数创建样式:
<style name="ChipTextStyle_Selected">
<item name="android:textSize">13sp</item>
<item name="android:textColor">@color/white</item>
</style>
您可以简单地在 xml 中使用 android:textColor,例如:
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"/>
或者您可以以编程方式使用:
val chip = view.findViewById<Chip>(R.id.chip)
chip.setTextColor(Color.WHITE)
在支持库版本 28 中,您可以使用此代码为芯片中的文本设置颜色
android:textColor="#FFFFFF"
此代码用于在芯片中写入文本
android:text="example"