Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo extender un botón de Android y utilizar un archivo de diseño xml

Estoy tratando de extender la clase del botón android y hacer que use un archivo de diseño xml.

La razón por la que quiero utilizar un archivo de diseño xml es que mi botón necesita utilizar un estilo y por lo que sé, no hay una manera de establecer el estilo de programación.

Public class BuyButton extends Botón {…}

<?xml version="1.0" encoding="utf-8"?> <Button xmlns:android="http://schemas.android.com/apk/res/android" style="@style/customButton" /> 

Para que pueda llamar:

 new BuyButton(activity); 

Y hacer que cree un botón que tiene el estilo aplicado a él.

(También estoy abierto a otras maneras de obtener el mismo resultado)

3 Solutions collect form web for “Cómo extender un botón de Android y utilizar un archivo de diseño xml”

Cree una clase que extienda el Button .

 public class BuyButton extends Button { public BuyButton(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } } 

En su referencia XML que la clase personalizada directamente.

 <?xml version="1.0" encoding="utf-8"?> <your.package.name.BuyButton xmlns:android="http://schemas.android.com/apk/res/android" style="@style/customButton"/> 

En su layout .xml, un cambio de una línea al tipo de control (cambio de Button a su tipo de botón personalizado) resolverá su problema de casting.

Para su subclasificado BuyButton, busque la sección del botón en .xml; Puede verse algo como esto:

 <Button android:id="@+id/btnBuy" android:layout_width="188dp" android:layout_height="70dp" android:padding="12dp" android:text="Buy" /> 

Y cambiarlo a esto:

 <yourpackage.name.BuyButton android:id="@+id/btnBuy" android:layout_width="188dp" android:layout_height="70dp" android:padding="12dp" android:text="Buy" /> 

Consulte la sección Estilo del botón . Apenas fije un fondo de encargo drawable.

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