10

有人可以帮我创建像下面这样的自定义按钮吗?可能吗?搜索了很多,只能找到一些再次证明是的东西rectangular/square shapes。但是我希望两个按钮triangular可以排列在另一个上,并且只能在它们特定的占用区域上单击。代码片段表示赞赏。

在此处输入图像描述

4

1 回答 1

2

您可以通过扩展View和继承其onTouchEvent方法来做到这一点,就像这样

public class BottomLeftTriangleButton extends View {

    // Copy superclass contructors

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getX() / getWidth() < event.getY() / getHeight()) {
            return super.onTouchEvent(event);
        }
        return false;
    }

}

这样,您的自定义视图仅拦截左下区域的点击,对应于您的“按钮 2”区域。您可以通过将“<”符号更改为“>”来使其他区域可点击。

然后把你的2个视图放在同一个FrameLayout中,你就完成了。

于 2013-03-16T12:15:39.107 回答