0

我有一个ImageView带有背景颜色的可点击对象,我想要的是当它被触摸/点击时它的背景颜色会发生变化,即使在点击被释放后它也应该保持变化,直到点击其他东西。为此,我正在编写一个state-list drawable

我正在使用pressed状态,即单击视图时的状态。我还想知道ImageView点击被释放后的状态是什么(直到点击了其他东西)。

我说的是这里给出的以下状态:

  • state_pressed
  • state_focused
  • state_hovered
  • state_selected
  • state_checkable
  • state_checked
  • state_enabled
  • 状态激活
  • state_window_focused
4

1 回答 1

0

这是例子!!!

    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);
于 2016-04-22T09:33:59.210 回答