如何在 Android 中为五个按钮使用一张背景图片?

How to use one background image for five buttons in Android?

我打算用这张图片作为五个按钮的背景,但我不知道如何实现这个目的,我应该把这张图片分成五个部分吗?拆分后如何保证能正常显示

如果我不想分割图片,是否可以在ImageView的不同区域添加五个不同的onClickListener?

不,你不能为图像视图设置五个 onClickListeners 你需要做的是制作这个圆形视图并将五个图像视图放入其中,每个图像视图都有各自的图标,然后为每个图像视图和 onClickListener 设置, 对于 diong 这个圆角视图使用一些布局技术,比如 ..

您可以通过将 ImageButtons 的背景设置为 transparent 并将图像作为 RelativeLayout 或任何其他布局的容器视图的背景来实现。

android:background="@android:color/transparent" 会将 ImageButtons 的背景设置为透明。这是我在这种情况下使用的代码示例

<RelativeLayout
            android:layout_height="@dimen/widthHeightCenterDial"
            android:layout_width="@dimen/widthHeightCenterDial"
            android:background="@drawable/my_background"
            android:id="@+id/frameLayout">


            <ImageButton
                android:layout_width="@dimen/widthHeightCenterDial"
                android:layout_height="@dimen/widthHeightCenterDial"
                android:id="@+id/cdSureButn"
                android:layout_centerVertical="true"
                android:background="@android:color/transparent"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center"
                android:textAlignment="center" />
            <ImageButton
                android:layout_width="@dimen/widthHeightCenterDial"
                android:layout_height="@dimen/widthHeightCenterDial"
                android:id="@+id/status_o_ring"
                android:layout_centerVertical="true"
                android:background="@android:color/transparent"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center"
                android:visibility="visible"
                android:textAlignment="center"
                android:contentDescription="status orange ring" />

           ....


   </RelativeLayout>

我用这种方法实现了这样的事情