transparente studio redondo redondear personalizados hacer funcionar estilos esquinas cuadrados como botones boton bordes android android-button rounded-corners

redondo - redondear esquinas boton android studio



¿Cómo hacer las esquinas de un botón redondo? (10)

Quiero hacer las esquinas de un button redondo. ¿Hay una manera fácil de lograr esto en Android?


Crea un archivo xml en una carpeta dibujable como abajo

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <!-- you can use any color you want I used here gray color--> <solid android:color="#ABABAB"/> <corners android:radius="10dp"/> </shape>

Aplique esto como fondo al botón que desee hacer esquinas redondas.

O puedes usar un radio separado para cada esquina como abajo

android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" android:topLeftRadius="10dp" android:topRightRadius="10dp"


Crear archivo myButton.xml

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

añadir a su botón

<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/myButton"/>


Cree el archivo rounded_btn.xml en la carpeta de Drawable ...

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/#FFFFFF"/> <stroke android:width="1dp" android:color="@color/#000000" /> <padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp" /> <corners android:bottomRightRadius="5dip" android:bottomLeftRadius="5dip" android:topLeftRadius="5dip" android:topRightRadius="5dip"/> </shape>

y usa este archivo .xml como fondo de botón

<Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/rounded_btn" android:text="Test" />


Es tan simple. Crea un archivo XML como el siguiente. Establecer como fondo para el botón. Cambie el atributo de radio a su deseo, si necesita más curva para el botón.

button_background.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/primary" /> <corners android:radius="5dp" /> </shape>

Establecer fondo a su botón:

<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_background"/>


Este enlace tiene toda la información que necesita. Here

Shape.xml

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

y main.xml

<?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello Android from NetBeans"/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nishant Nair" android:padding="5dip" android:layout_gravity="center" android:background="@drawable/button_shape" /> </LinearLayout>

Esto debería darte el resultado deseado.

La mejor de las suertes


Si está utilizando vectores dibujables, simplemente debe especificar un elemento <corners> en su definición dibujable. He cubierto esto en una entrada de blog .

Si está utilizando dibujables de mapa de bits / 9 parches, deberá crear las esquinas con transparencia en la imagen de mapa de bits.


Si quieres algo asi

Aquí está el código.

1.Crea un archivo xml en su carpeta dibujable como mybutton.xml y pegue el siguiente marcado:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#345953" android:endColor="#689a92" /> </shape> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <solid android:color="#58857e"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" /> </shape> </item> </selector>

2. Ahora usa este dibujo para el fondo de tu vista. Si la vista es botón entonces algo como esto:

<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:textColor="#ffffff" android:background="@drawable/mybutton" android:text="Buttons" />


Una forma sencilla de descubrirlo fue crear un nuevo archivo xml en la carpeta dibujable y luego apuntar el fondo de los botones a ese archivo xml. Heres el código que utilicé:

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


botón de estilo con el icono

<Button android:id="@+id/buttonVisaProgress" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="5dp" android:background="@drawable/shape" android:onClick="visaProgress" android:drawableTop="@drawable/ic_1468863158_double_loop" android:padding="10dp" android:text="Visa Progress" android:textColor="@android:color/white" />

shape.xml

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="14dp" /> <gradient android:angle="45" android:centerColor="#1FA8D1" android:centerX="35%" android:endColor="#060d96" android:startColor="#0e7e1d" android:type="linear" /> <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" /> <size android:width="270dp" android:height="60dp" /> <stroke android:width="3dp" android:color="#000000" />


crear shape.xml en la carpeta dibujable

como shape.xml

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="2dp" android:color="#FFFFFF"/> <gradient android:angle="225" android:startColor="#DD2ECCFA" android:endColor="#DD000000"/> <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" /> </shape>

y en myactivity.xml

puedes usar

<Button android:id="@+id/btn_Shap" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Shape" android:background="@drawable/shape"/>