android - 创建两个自定义按钮

标签 android button custom-component

有人可以帮我创建如下所示的自定义按钮吗?可能吗?已经搜索了很多并且只能找到一些再次证明是 rectangular/square shapes 的东西。但我希望两个按钮是 三角形 并排列在另一个按钮上,并且只能在它们特定的占用区域上单击。感谢代码 fragment 。

enter image description here

最佳答案

您可以通过扩展 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;
    }

}

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

然后将您的 2 个 View 放在同一个 FrameLayout 中,您就完成了。

关于android - 创建两个自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15448660/

相关文章:

java - 从SD卡获取图像并在Gridview中显示

java - 服务未注册 : org. OpenUDID.OpenUDID_manager@2b038438

android - Haxe 帮助 - 操纵 Android 后退按钮 Action

java - JComboBox自定义垂直滚动条

android - 访问 wifi.getScanResults() 中的结果时发生崩溃

打瞌睡模式下的 Android VOIP 应用程序行为

android - 是否可以添加通过单击 Android 中的按钮调用的方法(不添加监听器)

ios - 栏按钮项目无法执行操作 Swift

Android:使用 LayoutInflater.inflate 将自定义参数传递给构造函数

delphi - 如何知道我是否引用了正确的组件?