Android:用户界面:LinearGradient无法使用自定义颜色

时间:2013-03-13 13:40:45

标签: android user-interface textview linear-gradients

我正在尝试使用Shader和LinearGradient为我的TextView中的文本添加线性渐变。这仅在我使用Color.LTGRAY,Color.MAGENTA等标准颜色时才有效。如果我使用custom_colors.xml中的颜色,则不显示渐变。任何想法如何使这个工作为自定义颜色?

Shader txtShad=new LinearGradient(0, 0, 0, 10, new int[]{R.color.el_amethyst,R.color.el_maroon}, null, TileMode.MIRROR);
textview_dummy.getPaint().setShader(txtShad);

以下是custom_colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <color name="el_maroon">#CD2990</color>
  <color name="el_amethyst">#9D6B84</color>
</resources>

1 个答案:

答案 0 :(得分:3)

试试这个:

Shader txtShad = new LinearGradient(0, 0, 0, 10, new int[] { getResources().getColor(R.color.el_amethyst), getResources().getColor(R.color.el_maroon) }, null, TileMode.MIRROR);