我有一個圖庫和其項目的自定義佈局。每個按鈕上有兩個按鈕。每次我觸摸一個項目View時,它的按鈕都會被按下。ViewGroup傳輸到其子代的onPressed狀態
當我點擊一個按鈕時,另一個不會收到onPressed狀態,但是當我點擊附近時,他們都會收到它。
如何防止改變未觸摸按鈕的狀態?
我有一個圖庫和其項目的自定義佈局。每個按鈕上有兩個按鈕。每次我觸摸一個項目View時,它的按鈕都會被按下。ViewGroup傳輸到其子代的onPressed狀態
當我點擊一個按鈕時,另一個不會收到onPressed狀態,但是當我點擊附近時,他們都會收到它。
如何防止改變未觸摸按鈕的狀態?
我已經有一個重寫的類作爲容器,其中的按鈕。所以它被Luksprog提到的方式是我覆蓋setPressed()
public class GalleryItem extends FrameLayout {
@Override
public void setPressed(boolean pressed) {
return;
}
}
更換你Buttons
在項目佈局與下面的定製Button
類,看看行爲仍然存在的:
public class SpecialButton extends Button {
// implement constructors
@Override
public void setPressed(boolean pressed) {
if (pressed && (getParent() instanceof View) && ((View) getParent()).isPressed()) {
return;
}
super.setPressed(pressed);
}
}