带图像的圆形按钮

时间:2015-10-18 20:25:48

标签: android android-studio material-design

我正在尝试用图像制作一个圆形按钮,我也想添加它们的分隔符背景。我可以创建一个圆形按钮,但我不知道如何在此处添加图像和分隔符。

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weightSum="4">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button2"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button3"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button4"
            android:layout_weight="1" />
    </LinearLayout>

Round_button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <shape android:shape="oval">
            <solid android:color="#0dbe00"/>
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="oval">
            <solid android:color="#c20586"/>
        </shape>
    </item>
</selector>

我想要的是什么:

enter image description here

我有什么:

enter image description here

3 个答案:

答案 0 :(得分:4)

试试这个

     <LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:weightSum="4">

    <Button
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:background="@drawable/round_button"
        android:text="1"
        android:id="@+id/button"/>

    <Button
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:background="@drawable/round_button"
        android:text="2"
        android:id="@+id/button2"/>

    <Button
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:background="@drawable/round_button"
        android:text="3"
        android:id="@+id/button3"/>

    <Button
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:background="@drawable/round_button"
        android:text="4"
        android:id="@+id/button4"/>
</LinearLayout>

和round_button:

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false">
        <shape android:shape="ring">
            <solid android:color="#0dbe00"/>
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="ring">
            <solid android:color="#c20586"/>
        </shape>
    </item>
</selector>

答案 1 :(得分:0)

  

我也想添加分隔符背景。我可以创建一个圆圈   按钮,但我不知道如何在此添加图像和分隔符。

将图像添加到按钮,您可以使用android:src

分隔您可以在按钮之间添加View的项目。 E.g。

<View
  android:layout_width="5dp"
  android:layout_height="match_parent"
  android:background="@android:color/transparent"/>

答案 2 :(得分:0)

尝试:

<LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <View
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button"/>

        <View
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button2" />

        <View
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button3" />
        <View
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/round_button"
            android:text="New Button"
            android:id="@+id/button4" />

        <View
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>