2013-03-13 2 views
3

Я создал StateListDrawable из моего вопроса Add Color "#e3bb87" to StateListDrawable programmatically, но TextView.setTextColor не принимает StateListDrawable (странно, что он работает в макете), но ColorStateList. Я прочитал это change statelistdrawable text color android buttonустановить определенный цвет в ColorStateList программно

В конструкторе ColorStateList, он принимает только массивы Int

ColorStateList colorStateList = new ColorStateList(
      new int[][]{ 
        new int[]{R.attr.state_pressed}, 
        new int[]{R.attr.state_selected}, 
        new int[]{-R.attr.state_selected}, 
      }, 
      new int[]{ 
        Color.GREEN, 
        Color.BLUE, 
        Color.RED}); 

цвет не определен в colors.xml, потому что я скачать этот атрибут цвета. Как я могу это определить?

ColorStateList colorStateList = new ColorStateList(
      new int[][]{ 
        new int[]{R.attr.state_pressed} 
      }, 
      **getThisColor**("#e3bb87")); 

ответ

6

Используйте этот

ColorStateList colorStateList = new ColorStateList(
      new int[][] { new int[] { R.dimen.padding_large } }, 
      new int[] {Color.parseColor("#e3bb87")}); 
+0

Я был goinf на этот пост. –

+0

К счастью, я был первым. : D :) –

Смежные вопросы