Как я могу удерживать одну кнопку нажатой после нажатия на нее?

Возможный дубликат:
Android. Как сохранить кнопку, отображаемую как PRESSED, до тех пор, пока действие, созданное этой кнопкой, не будет завершено?

У меня есть одна кнопка, и я хочу, когда я нажал ее, чтобы оставаться нажатой (с зеленым цветом на froyo). Любая помощь?

 mycodes_Button = (Button) findViewById(R.id.mycodes);
 ...
 if (saved_Button.isPressed())
 {
    saved_Button.setFocusable(true);
 }

Что-то вроде этого?

+28
источник поделиться
3 ответа

Привет, используйте следующий код, который он будет полезен,

mycodes_Button.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                mycodes_Button.setPressed(true);
                return true;
            }
        });
+33
источник

У меня была проблема с кнопкой с настраиваемым фоном, и в итоге я использовал выбранное состояние. Это состояние доступно для всех просмотров.

Чтобы использовать это, вы должны определить пользовательский фон кнопки как список состояний:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_selected="false" android:state_focused="false" 
     android:state_pressed="false"><bitmap ... /></item>
  <item android:state_selected="true"><bitmap ... /></item>
  <item android:state_focused="true"><bitmap ... /></item>
  <item android:state_pressed="true"><bitmap ... /></item>
</selector>

Затем, чтобы использовать этот фон, предположим, что он находится в /res/drawable/button_bg.xml в вашем файле макета, вы используете:

...
<Button android:background="@drawable/button_bg" ... />
...

В вашем коде вы можете переключиться на (де-) выбранное состояние в вашем слушателе onClick:

myButton.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    v.setSelected(true);
    // normal click action here
  }
});

Активированное состояние соответствует указанному значению лучше, но доступно только с Android 3.x и выше.

+39
источник
другие ответы

Связанные вопросы


Похожие вопросы

Будет ли ToggleButton соответствовать вашим потребностям?

Судя по вашим комментариям, кажется, что вы не знаете о режиме Touch. В этом режиме, который по умолчанию используется для большинства вещи, нет фокуса (чего вы пытаетесь достичь) и не выбранных элементов.

Вы можете попытаться выйти из сенсорного режима программно, но я бы не рекомендовал его. После небольшого периода привыкания к нему сенсорный режим даст пользователям гораздо лучший опыт.

+4
источник

Посмотрите другие вопросы по меткам или Задайте вопрос