es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El botón personalizado no se está inflando correctamente.

Este podría ser un problema muy simple… pero no puedo entender cuál es el problema.

Simplemente extendí MaterialButton de la siguiente manera:

class MyButton @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
) : MaterialButton(context, attrs, defStyleAttr)

Y lo coloqué en el archivo XML:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical">

    <com.google.android.material.button.materialbutton android:id="@+id/b1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name"></com.google.android.material.button.materialbutton>

    <com.example.myapplication.mybutton android:id="@+id/b2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/app_name"></com.example.myapplication.mybutton>
</linearlayout>

Y la salida es:

Imagen

Se convierte en un TextView. He agregado la biblioteca de materiales en el gradle:

implementation 'com.google.android.material:material:1.4.0'

¿Alguna ayuda? Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar en los atributos layout_width y layout_height de tu MyButton en el XML. Intenta establecerlos como “match_parent” en lugar de “wrap_content” y ve si eso soluciona el problema. Además, asegúrate de haber importado la clase MaterialButton correcta y de que tu archivo build.gradle incluya las dependencias adecuadas.

Comments are closed.