¿Puedo crear una plantilla de botón de Android?

Tengo varios botones en mi aplicación actual. Todos son idénticos excepto por su texto y una etiqueta. El main.xml sería mucho más bonito si no tuviera que repetir toda la información de configuración del botón para cada botón.

¿Hay una manera de definir un botón como plantilla, y luego hacer más utilizando como una plantilla?

En este ejemplo, tengo cerca de 10 de los siguientes:

<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="Y" android:typeface="monospace" android:textSize="12pt" android:tag="Y" android:textColor="@color/button_text" android:background="@drawable/grey_blank_48x48" android:onClick="onButtonClicked"/> 

Sería bueno si tuviera uno, y luego 9 de ellos:

  <Button2 android:text="N" android:tag="N"/> 

Resolución

Fue más o menos como @Luksprog dijo:

 <style name="ASR33_button" > <item name="android:id">@+id/button</item> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:padding">10dp</item> <item name="android:textColor">@color/button_text</item> <item name="android:background">@drawable/grey_blank_48x48</item> <item name="android:onClick">onButtonClicked</item> <item name="android:typeface">monospace</item> <item name="android:textSize">12pt</item> </style> 

Con el main.xml teniendo cosas como esto:

  <Button style="@style/ASR33_button" android:tag="Y" android:text="Y" /> <Button style="@style/ASR33_button" android:tag="N" android:text="N" /> 

Esto lleva el día.

Nosotros un style :

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="btnlook" > android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:textColor="@color/button_text" android:background="@drawable/grey_blank_48x48" android:onClick="onButtonClicked" android:typeface="monospace" android:textSize="12pt" </style> </resources> 

Y luego en su diseño xml:

 <Button style="@style/btnlook" android:text="N" android:tag="N"/> 

Puede crear una vista personalizada que extienda el botón y configure todas las cosas que se repitan. A continuación, puede utilizarlo como lo describió, pero con un nombre completo, no sólo shortname.

 class MyButton extends Button { public MyButton() { // Set the values you want } } 

Y en XML:

 <com.me.myapp.MyButton android:text="N" android:tag="N" /> 

Puede crear un selector

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

Y establecer el botón de 10 android:background="@drawable/that_selecter"

La única manera de hacer esto para hacer botón personalizado subclase el botón.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.