Как программно создать селектор для рисования из цветового кода в Android

Я хочу создать селектор с помощью #000000 для избранных и #FFFFFF за невыбранное состояние.

Как я могу создать рисовать программно?

В настоящее время я делаю это следующим образом:

StateListDrawable states = new StateListDrawable();
ColorDrawable cdPress = new ColorDrawable(0xFF0000);
ColorDrawable cdUnPress = new ColorDrawable(0x0101DF);

states.addState(new int[] { android.R.attr.state_selected}, cdPress);
states.addState(new int[] {-android.R.attr.state_selected}, cdUnPress);

view.setBackgroundDrawable(states);
view.setSelected(isSelected);

2 ответа

Создать stateListDrawable и перейти к представлению

   StateListDrawable stateListDrawable=new StateListDrawable();
   stateListDrawable.addState(new  int[]{android.R.attr.state_pressed}getColorDrawable(Colorcode));
   stateListDrawable.addState(new int[]{android.R.attr.state_focused},getColorDrawable(Colorcode));
    ...
    mView.setBackground(stateListDrawable);
    ...
    }
    private static Drawable getColorDrawable(int colorCode) {
            return new ColorDrawable(colorCode);
    }

Перейдите в проводник проекта, который должен находиться слева от вашей IDE затмения -> Щелкните правой кнопкой мыши на папке res вашего проекта-> Нажмите "Создать", затем "Папка" -> Назовите эту папку для рисования -> Щелкните правой кнопкой мыши на новой папке для рисования, нажмите "Создать" -> Поиск XML-файла в папке XML -> имя и вставьте этот код, вместо этого укажите цветовые коды

     <?xml version="1.0" encoding="utf-8"?>
     <selector xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:state_pressed="true"><shape android:shape="rectangle">
        <corners android:radius="5dp" />

        <solid android:color="@color/button2_pressed" />
       </shape></item>
      <item android:state_focused="true"><shape android:shape="rectangle">
        <corners android:radius="5dp" />

        <solid android:color="@color/button2_pressed" />
      </shape></item>
       <item><shape android:shape="rectangle">
        <corners android:radius="5dp" />

        <solid android:color="@color/button2_default" />
      </shape></item>

       </selector>
Другие вопросы по тегам