如何创建包含中心图标的小圆形按钮?

时间:2018-01-02 08:01:31

标签: android

我想在我的Android应用程序中创建按钮,如下图所示

enter image description here

你可以查看下面的所有四个按钮。

我想给他们一个自定义的颜色背景,然后在顶部添加一个图标。我无法调整按钮中心的图标。

如何达到预期效果?

2 个答案:

答案 0 :(得分:2)

您可以使用FrameLayout执行此操作,对于圆形背景,您需要创建一个形状可绘制文件。请参考我的答案。

<FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/round_shape"
        android:clickable="true"
        android:focusable="true"
        android:visibility="visible"
        android:foreground="?android:attr/selectableItemBackground"
        android:padding="4dp">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_star_border_black_24dp"/>
    </FrameLayout>

round_shape.xml 将此文件添加到可绘制文件夹

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <gradient
        android:angle="270"
        android:startColor="@color/profile_grey"
        android:endColor="@color/profile_grey"/>

</shape>

答案 1 :(得分:0)

创建Drawable并将该drawable用作Button Background。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape android:shape="oval">
        <stroke android:color="#e1e1e1"
            android:width="0.5dp"/>
        <solid android:color="@android:color/white"/>
    </shape>
  </item>
</selector>

此代码创建一个白色背景的圆圈。