Как я могу установить селектор, просто нажмите кнопку?
Я искал много раз, но я не нашел то, что мне нужно.
Что мне нужно это:
когда пользователь просто нажимает кнопку, которую я хочу, он меняет фоновое изображение (пользователю не нужно нажимать кнопку, мне нужно всего лишь один щелчок и изменить изображение)
что я сделал, это:
в селекторе:
<?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;
}
}
});