2013-03-13 1 views
3

Я пытаюсь добавить линейный градиент к тексту в моем TextView с использованием Shader и LinearGradient. Это работает, только если я использую стандартные цвета, такие как Color.LTGRAY, Color.MAGENTA и т. Д. Градиент не отображается, если я использую цвета из моего custom_colors.xml. Любые идеи, как я могу сделать эту работу для пользовательских цветов?Android: Пользовательский интерфейс: LinearGradient не работает с пользовательскими цветами

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> 

ответ

2

Попробуйте это:

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); 
+0

Благодаря тонну. Сейчас он работает нормально. – Ankit