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

Android Hexagon shape button having hexagon touch bounds

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

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

查看 this

<com.github.siyamed.shapeimageview.{ClassName}
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    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 边框笔画帽型 butt|round|square
  • siStrokeJoin 边框描边连接类型 bevel|miter|round
  • siSquare 将宽度和高度设置为给定值的最小值 真|假
  • siShape 对 SVG 的引用。这个是ShapeImageView用的,不是 它的子类。