una texto studio redondo poner personalizar para imagen hacer funcionar estilos efectos con como codigo botones boton android android-widget

texto - Cómo crear un botón personalizado en Android usando estilos XML



estilos de botones en android studio (4)

¿Alguna vez has intentado crear la forma de fondo para cualquier botón?

Mira esto a continuación:

Debajo está la imagen separada de tu imagen de un botón.

Ahora, póngalo en su ImageButton para Android: src "fuente" así:

android:src="@drawable/twitter"

Ahora, simplemente crea la forma del ImageButton para tener un fondo de sombreado negro.

android:background="@drawable/button_shape"

y button_shape es el archivo xml en recurso dibujable:

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="1dp" android:color="#505050"/> <corners android:radius="7dp" /> <padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/> <solid android:color="#505050"/> </shape>

Solo trata de implementarlo con esto. Es posible que deba cambiar el valor de color según su requisito.

Avísame si no funciona.

Quiero hacer este tipo de colores de botón [mismo fondo y texto] usando estilos XML

es solo por un ejemplo, quiero escribir algunos otros textos, como: Acerca de mí

Todavía estoy usando el botón creado por el diseñador en Photoshop

<ImageButton android:id="@+id/imageButton5" android:contentDescription="AboutUs" android:layout_width="wrap_content" android:layout_marginTop="8dp" android:layout_height="wrap_content" android:layout_below="@+id/view_pager" android:layout_centerHorizontal="true" android:background="@drawable/aboutus" />

Nota: Necesito este tipo de botón en todos los tamaños y formas

No quiero usar ninguna imagen en mi aplicación Android. Quiero usar solo XML.


Copiado y pegado de una receta escrita por "Adrián Santalla" en androidcookbook.com: https://www.androidcookbook.com/Recipe.seam?recipeId=3307

1. Cree un archivo XML que represente los estados del botón

Cree un xml en drawable llamado ''button.xml'' para nombrar los estados de los botones:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:drawable="@drawable/button_disabled" /> <item android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/button_pressed" /> <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/button_focused" /> <item android:state_enabled="true" android:drawable="@drawable/button_enabled" /> </selector>

2. Crea un archivo XML que represente cada estado de botón

Crea un archivo xml para cada uno de los cuatro estados de botón. Todos ellos deben estar en la carpeta de dravable. Sigamos los nombres establecidos en el archivo button.xml.

button_enabled.xml:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#00CCFF" android:centerColor="#0000CC" android:endColor="#00CCFF" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape>

button_focused.xml:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#F7D358" android:centerColor="#DF7401" android:endColor="#F7D358" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape>

button_pressed.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#0000CC" android:centerColor="#00CCFF" android:endColor="#0000CC" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape>

button_disabled.xml:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#F2F2F2" android:centerColor="#A4A4A4" android:endColor="#F2F2F2" android:angle="90"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <stroke android:width="2dip" android:color="#FFFFFF" /> <corners android:radius= "8dp" /> </shape>

3. Crea un archivo XML que represente el estilo del botón

Una vez que haya creado los archivos mencionados anteriormente, es hora de crear el estilo del botón de su aplicación. Ahora, necesita crear un nuevo archivo XML, llamado styles.xml (si aún no lo tiene) donde puede incluir más estilos personalizados, en el directorio de valores.

Este archivo contendrá el nuevo estilo de botón de su aplicación. Debe configurar sus nuevas funciones de estilo de botón. Tenga en cuenta que una de esas características, el fondo de su nuevo estilo, debe establecerse con una referencia al botón (button.xml) dibujable que se creó en el primer paso. Para referirse al nuevo estilo de botón usamos el atributo de nombre.

El siguiente ejemplo muestra el contenido del archivo styles.xml:

<resources> <style name="button" parent="@android:style/Widget.Button"> <item name="android:gravity">center_vertical|center_horizontal</item> <item name="android:textColor">#FFFFFFFF</item> <item name="android:shadowColor">#FF000000</item> <item name="android:shadowDx">0</item> <item name="android:shadowDy">-1</item> <item name="android:shadowRadius">0.2</item> <item name="android:textSize">16dip</item> <item name="android:textStyle">bold</item> <item name="android:background">@drawable/button</item> <item name="android:focusable">true</item> <item name="android:clickable">true</item> </style> </resources>

4. Crea un XML con tu propio tema de aplicación personalizado

Finalmente, debe sobrescribir el estilo de botón predeterminado de Android. Para eso, necesita crear un nuevo archivo XML, llamado themes.xml (si aún no lo tiene), en el directorio de valores y anular el estilo de botón predeterminado de Android.

El siguiente ejemplo muestra el contenido de themes.xml:

<resources> <style name="YourApplicationTheme" parent="android:style/Theme.NoTitleBar"> <item name="android:buttonStyle">@style/button</item> </style> </resources>

Espero que puedan tener la misma suerte que tuve con esto, cuando estaba buscando botones personalizados. Disfrutar.


Echa un vistazo a Styled Button , seguramente te ayudará. Hay muchos ejemplos, busque en INTERNET.

Ej .: estilo

<style name="Widget.Button" parent="android:Widget"> <item name="android:background">@drawable/red_dot</item> </style>

puedes usar tu selector en lugar de red_dot

punto rojo:

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <solid android:color="#f00"/> <size android:width="55dip" android:height="55dip"/> </shape>

Botón:

<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="49dp" style="@style/Widget.Button" android:text="Button" />


<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#ffffffff"/> <size android:width="@dimen/shape_circle_width" android:height="@dimen/shape_circle_height"/> </shape>

1.añadir esto en su dibujo

2. establecer como fondo de su botón