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

Я искал много раз, но я не нашел то, что мне нужно.

Что мне нужно это:

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

что я сделал, это:

в селекторе:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true" 
        android:drawable="@drawable/web_wl" />
    <item android:drawable="@drawable/web" />
</selector>

и в кнопке xml:

  <Button
        android:id="@+id/btn_wb"
        android:layout_width="50dp"
        android:layout_height="50dp"  
        android:background="@drawable/web_selector" />

но это работает только пользователь держит руку на кнопке, но мне нужно, чтобы это работало только одним щелчком мыши.

заранее спасибо

1 ответ

Решение

Селектор использует ресурс списка состояний цвета. Я не уверен, что в списке государств есть ожидаемое поведение. Однако вы можете достичь этого с помощью события прослушивания щелчка вместо использования селектора:

// init a boolean
private boolean isPressed = false; 

// click listener event 
btn_wb.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v) {
        // change the background once 
        if(!isPressed) {
            v.setBackgroundResource(R.drawable.web_wl);
            isPressed = true;
        }
    }
});
Другие вопросы по тегам