我在我的 android 应用程序中使用了大量的文本视图。我有一个带有圆角形状和颜色属性的 background.xml 文件。我将此背景设置为我的文本视图。如果我有几种不同的颜色作为背景,我可以创建单独的背景 xml。如果我有超过 30 或 40 种不同的颜色要使用,我应该有尽可能多的背景文件吗?
问问题
535 次
2 回答
1
您需要维护单个背景文件并为您的文本视图创建所有样式属性,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="style_1" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">#FFA500</item>
<item name="android:textColor">#FFA500</item>
</style>
<style name="style_3" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">#FFA500</item>
<item name="android:textColor">#FFA500</item>
</style>
<style name="style_n" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">#FFA500</item>
<item name="android:textColor">#FFA500</item>
</style>
</resources>
样式请参考:http: //developer.android.com/guide/topics/ui/themes.html
于 2014-04-28T06:17:25.513 回答
1
您可以在 Java 代码中使用带有动态颜色的 PaintDrawable,如下所示。
final TextView hint = (TextView) layout.findViewById(R.id.txt_hint);
hint.setTextColor(Color.WHITE);
PaintDrawable paintDrawable1=new PaintDrawable(getRandomColor());
paintDrawable1.setCornerRadius(20f);
hint.setBackground(paintDrawable1);
private int getRandomColor(){
Random rnd = new Random();
return Color.argb(255, rnd.nextInt(256), rnd.nextInt(56), rnd.nextInt(256));
}
于 2017-02-06T11:28:33.877 回答