Wrap_content no funciona en la altura de los botones android

"Wrap_content" no funciona en el botón como este:

now want _____________ | | _____________ | aaaaaa | => | aaaaaaaaaaa | |____________| -------------- 

Y el código de mi botón en xml:

  <Button android:layout_gravity="center" android:id="@+id/input_expend" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="12sp" android:text="aaaaaaa" android:background="@drawable/btn_01"/> <Button android:layout_gravity="center" android:id="@+id/input_expend" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="12sp" android:text="aaaaaaa" android:background="@drawable/btn_02"/> 

¿Cómo resolver este problema? ¡Gracias!

Button es una View y el atributo android:minHeight 48dip se establece 48dip defecto. Puede establecer minHeight más bajo que su texto real 'aaaaa' como 1dp. Entonces wrap_content funcionará. Pero no creo que esto sea recomendable.

Wrap_content no reducirá un botón más pequeño que el fondo. Si ya está usando un parche de nueve para el fondo, a continuación, reducir el tamaño de las regiones a la más pequeña que puede ser. Si no hay un gradiente, entonces sólo se necesita alrededor de dos píxeles para definir las regiones estirables y, a continuación, asegúrese de que el área central es tan pequeño como puede ser. Utilice el relleno (líneas derecha e inferior en nueve paquetes) para asignar el relleno.

Si está utilizando una imagen dibujable (no un parche de nueve o xml dibujable), a continuación, hacer un parche nueve

Si no desea resolver el problema en la imagen, tendrá que establecer el layout_height a un valor fijo para forzar la contracción de la imagen (es decir, no use wrap_content)

Una solución es añadir android:padding="@null" al botón en su XML. Esto anulará cualquier relleno existente que se esté aplicando.

También hay un problema que he encontrado donde un botón no se reducirá más pequeño que el relleno definido en el estilo de botón predeterminado. He destacado esto en mi propia pregunta hace algún tiempo, pero no he tenido una respuesta que lo resuelva todavía.

El fondo está agregando el relleno indeseado

Cambiar el fondo no funcionó, así como padding = "@ null".

Terminé usando un TextView porque mi botón era bastante simple para que bastara:

 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Join" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:padding="5dp" android:textSize="@dimen/xsmall_text_size" android:textColor="@drawable/button_text_selector" android:background="@color/turquoise" android:textStyle="bold" android:onClick="buttonOnClick" android:clickable="true"/> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.