如何在android中为按钮实现非矩形形状

dmS*_*azi 5 android

嗨,我必须实现这种布局.它有这种布局. 非活动按钮

我可以尝试使用图标作为图像按钮,但按钮的活动状态有点像这个!

已按下一个按钮

我该如何处理?

Ket*_*hir 1

您应该selector按如下方式使用:

\n\n
    \n
  1. 准备2张按钮状态图像,并将其放入res/drawable文件夹中。

    \n\n

    button_normal_green.png \xe2\x80\x93 默认图像按钮。

    \n\n

    button_pressed_yellow.png \xe2\x80\x93 按下按钮时显示。

  2. \n
  3. 现在,在 \xe2\x80\x9cres/drawable/\xe2\x80\x9d 文件夹中创建一个新的 XML 文件,名称任意,在本例中,我们只需将名称命名为 \xe2\x80\x9cnew_button.xml\ xe2\x80\x9c。该文件定义了哪个按钮状态属于哪个图像。

    \n\n
    <?xml version="1.0" encoding="utf-8"?>\n  <selector xmlns:android="http://schemas.android.com/apk/res/android">\n     <item android:drawable="@drawable/button_pressed_yellow" android:state_pressed="true" />\n\n     <item android:drawable="@drawable/button_normal_green" />\n  </selector>\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
\n\n

3.设置按钮背景

\n\n
<ImageButton\n    android:id="@+id/imageButtonSelector"\n    android:layout_width="wrap_content"\n    android:layout_height="wrap_content"\n    android:background="@drawable/new_button" />\n
Run Code Online (Sandbox Code Playgroud)\n\n

看一下完整的示例

\n

  • 谢谢,我的实际问题是按钮的形状,如果我使用矩形形状,我必须要么让按钮的某些部分不可点击,要么它们会重叠 (2认同)