Android 上的自定义按钮绘画

Custom Button painting on Android

目标

我的目标是编辑一个 Button,使其形状为 <> 的小三角形。

Shape 1         Shape 2

    /|          |\
   / |          | \
  /  |          |  \
 /   |          |   \
/    |          |    \
\    |          |    /
 \   |          |   /
  \  |          |  /
   \ |          | /
    \|          |/

我所知道的

我从来没有编辑过Button的绘画过程,所以我有点迷茫。我已经使用 Canvas 并通过在 Java 中覆盖绘画功能来完成一些游戏,但是,我不清楚如何在 Android 中实现这一点。我知道我必须做以下事情:

  1. 创建一个扩展 Button
  2. 的 class
  3. 编辑它的绘画/绘图,使其成为我想要的形状
  4. 创建它的实例并在运行时将其添加到我的布局中

问题

  1. 我必须覆盖哪些函数才能执行此操作?
  2. 点击时的高亮效果是否正常,还是我也必须修复它?
  3. 点击高亮可以关闭吗?

您可以使用 ImageButton 并在那里设置您想要设置的图像。

我将只使用类似于 this other question 中的答案的内容。由于我的形状是三角形,所以它会起作用。