How to make a round button?

后端 未结 17 2168
夕颜
夕颜 2020-11-28 18:17

I\'m trying to make a round button, but I don\'t know how can I do it. I can make button with rounded corners, but how can I can round circle. It\'s not the same. Please, te

相关标签:
17条回答
  • 2020-11-28 18:59

    For a round button create a shape:

    <?xml version="1.0" encoding="utf-8"?>
    

    <stroke
        android:width="8dp"
        android:color="#FFFFFF" />
    
    <solid android:color="#ffee82ee" />
    
    
    <corners
        android:bottomLeftRadius="45dp"
        android:bottomRightRadius="45dp"
        android:topLeftRadius="45dp"
        android:topRightRadius="45dp" />
    

    use it as a background of your button link

    0 讨论(0)
  • 2020-11-28 19:00
    1. Use the Image Buttons and make the background as the image you want.
    2. Create the images from the android asset studio link -

    " https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html#foreground.type=image&foreground.space.trim=0&foreground.space.pad=0.25&foreColor=rgba(94%2C%20126%2C%20142%2C%200)&backColor=rgb(96%2C%20125%2C%20139)&crop=1&backgroundShape=circle&effects=none&name=ic_home "

    and download it, extraxt it , inside that look for mipmap-hdpi folder.

    1. copy the image from the mipmap-hdpi folder and paste it in the drwable folder of your android project.

    2. Now set the background as that image.

    0 讨论(0)
  • 2020-11-28 19:01

    Create an xml file named roundedbutton.xml in drawable folder

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">
        <solid android:color="#eeffffff" />
        <corners android:bottomRightRadius="8dp"
            android:bottomLeftRadius="8dp"  
            android:topRightRadius="8dp"
            android:topLeftRadius="8dp"/>
    </shape>
    

    Finally set that as background to your Button as android:background = "@drawable/roundedbutton"

    If you want to make it completely rounded, alter the radius and settle for something that is ok for you.

    0 讨论(0)
  • 2020-11-28 19:01

    I went through all the answers. But none of them is beginner friendly. So here I have given a very detailed answers fully explained with pictures.

    Open Android Studio. Go to Project Window and scroll to drawable folder under res folder

    Right click, select New --> drawable resource folder

    In the window that appears, name the file rounded_corners and click on OK

    A new file rounded_corners.xml gets created

    Open the file. You are presented with the following code -->

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://android.com/apk/res/android">
    
    </selector>
    

    Replace it with the following code -->

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <corners android:radius="8dp" />
        <solid android:color="#66b3ff" />
    </shape>
    

    Here the design view can be seen on the right side

    Adjust the value in android:radius to make the button more or less rounded.

    Then go to activity_main.xml

    Put the following code -->

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        android:padding="10dp">
    
        <Button
            android:id="@+id/_1"
            android:text="1"
            android:textSize="25dp"
            android:textColor="#ffffff"
            android:background="@drawable/rounded_corners"
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"/>
    
    </RelativeLayout> 
    

    Here I have placed the Button inside a RelativeLayout. You can use any Layout you want.

    For reference purpose MainActivity.java code is as follows -->

    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

    I have a Pixel 4 API 30 avd installed. After running the code in the avd the display is as follows -->

    0 讨论(0)
  • 2020-11-28 19:02

    use ImageButton instead of Button....

    and make Round image with transparent background

    0 讨论(0)
  • 2020-11-28 19:04

    Markushi's android circlebutton:

    (This library is deprecated and no new development is taking place. Consider using a FAB instead.)

    enter image description here

    0 讨论(0)
提交回复
热议问题