ViewGroup传输给其子节点'onPressed'状态

时间:2012-11-29 12:17:08

标签: android touch gallery

我有一个图库和其项目的自定义布局。每个都有两个按钮。每当我触摸项目视图时,其按钮就会被按下。

当我点击一个按钮时,另一个按钮没有收到onPressed状态,但是当我点击附近时,它们都会收到它。

如何防止改变未触摸按钮的状态?

2 个答案:

答案 0 :(得分:0)

使用下面的自定义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);
    }

}

答案 1 :(得分:0)

我已经有一个重写的类作为按钮所在的容器。所以Luksprog提到的方式我覆盖了setPressed()

public class GalleryItem extends FrameLayout {
    @Override
    public void setPressed(boolean pressed) {

        return;
    }

}