В каком состоянии находится представление после щелчка (т. Е. После отпускания щелчка)?

У меня есть кликабельный ImageView с цветом фона, и я хочу, чтобы его цвет фона менялся при касании / щелчке, и он должен оставаться измененным даже после отпускания щелчка, пока не будет нажата какая-либо другая кнопка. Для этого я пишу список состояний для рисования.

Я использую pressed состояние, при котором щелкает вид. Я также хочу знать, в каком состоянии находится ImageView в после того, как щелчок выпущен (пока что-то еще не нажано).

Я говорю о следующих состояниях, приведенных здесь:

  • state_pressed
  • state_focused
  • state_hovered
  • State_Selected
  • state_checkable
  • state_checked
  • State_Enabled
  • state_activated
  • state_window_focused

1 ответ

Это пример!!!

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), drawable);
    StateListDrawable states = new StateListDrawable();
    states.addState(new int[]{android.R.attr.state_pressed},
            ResourcesCompat.getDrawable(getResources(), R.drawable.image_pressed, null));
    states.addState(new int[]{android.R.attr.state_focused},
            ResourcesCompat.getDrawable(getResources(), R.drawable.focused, null));
    states.addState(new int[]{},
            new BitmapDrawable(getResources(), bitmap));
    imageView.setImageDrawable(states);
Другие вопросы по тегам