具有六边形触摸边界的 Android Hexagon 形状按钮

Posted

技术标签:

【中文标题】具有六边形触摸边界的 Android Hexagon 形状按钮【英文标题】:Android Hexagon shape button having hexagon touch bounds 【发布时间】:2015-03-10 14:44:15 【问题描述】:

我想在 android 中创建一个六边形按钮,这样它的触摸区域就不会重叠(在右侧),即。我想要六边形触摸绑定而不是矩形触摸绑定。我尝试使用图像视图,但它不排除透明(以蓝色显示,左)。是否有任何由 xml 形状/路径定义的可点击对象。如果可能的话,任何人都可以向我展示一个按钮的 xml 形状/路径部分或任何其他方法。

【问题讨论】:

【参考方案1】:

查看this

<com.github.siyamed.shapeimageview.ClassName
    android:layout_
    android:layout_
    android:layout_margin="8dp"
    android:src="@drawable/neo"
    app:siBorderWidth="8dp"
    app:siBorderColor="@color/darkgray"/>

属性:

siBorderColor边框颜色

siBorderWidth dp 中的边框宽度

siBorderAlpha边界的alpha值在0.0-1.0之间

siStrokeCap边框笔画帽型对接|圆形|方形 siStrokeJoin边框笔画连接类型bevel|miter|round siSquare 将宽度和高度设置为给定值的最小值 真|假 siShape 对 SVG 的引用。这是由 ShapeImageView 使用的,而不是 它的子类。

【讨论】:

【参考方案2】:

没有可以为您定制形状的系统视图。您需要创建自定义视图:http://developer.android.com/training/custom-views/index.html 并在其onTouchEvent() 中确定用户的点击是在可点击区域内部还是外部并采取相应措施。

【讨论】:

以上是关于具有六边形触摸边界的 Android Hexagon 形状按钮的主要内容,如果未能解决你的问题,请参考以下文章

从空间点数据创建边界多边形,以便在传单中绘图

从坐标参考系中的多边形边界获取栅格中的像素坐标

六边形按键,六边形触摸区

凸多边形最优三角剖分

多边形建模的简介

CSS中不规则多边形的悬停效果