wrap_content no funciona en la altura del botón Android -- android camp Relacionados El problema

wrap_content is not working in button height android


20
vote

problema

Español

"wrap_content" no funciona en mi botón, actualmente parece esto:

  public static Result createEntry() {     Form<BlogEntry> filledForm = blogEntryForm.bindFromRequest();     if (filledForm.hasErrors()) {         Logger.debug(filledForm.data().toString());         Logger.debug(filledForm.errors().toString());         return badRequest(newentry.render(filledForm));     }     BlogEntry entry = filledForm.get();     entry.save();     return redirect(routes.BlogController.index()); }  public static Result newEntry() {     return ok(newentry.render(blogEntryForm)); } 111  

y el XML para mis botones:

  public static Result createEntry() {     Form<BlogEntry> filledForm = blogEntryForm.bindFromRequest();     if (filledForm.hasErrors()) {         Logger.debug(filledForm.data().toString());         Logger.debug(filledForm.errors().toString());         return badRequest(newentry.render(filledForm));     }     BlogEntry entry = filledForm.get();     entry.save();     return redirect(routes.BlogController.index()); }  public static Result newEntry() {     return ok(newentry.render(blogEntryForm)); } 2  

¿Cómo puedo resolver este problema? ¡Gracias!

Original en ingles

"wrap_content" is not working in my button, it currently looks like this:

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

and the xml for my buttons :

 <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"/>  

How can I solve this problem? Thanks!

  
   
   

Lista de respuestas

56
 
vote

Button es un 9988777661 y el atributo android:minHeight se establece 48dip Predeterminado. Puede configurar minHeight más bajo que su texto real 'AAAAA', como 1DP. Luego, wrap_content funcionará. Pero no creo que esto sea recomendado.

 

Button is a View and the android:minHeight attribute is set 48dip default. You can set minHeight lower than your actual text 'aaaaa' such as 1dp. Then wrap_content will work. But I don't think this is recommended.

 
 
       
       
1
 
vote

Una solución es agregar 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 del botón predeterminado. Destacé esto en mi propia pregunta algunos hace tiempo Pero no he tenido una respuesta que todavía lo resuelve.

 

One solution is to add android:padding="@null" to the button in your XML. This will override any existing padding being enforced.

There is also an issue I've come across where a button will not shrink smaller than the padding defined in the default button style. I highlighted this in my own question some time ago but haven't had an answer that resolves it yet.

 
 
1
 
vote

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

Terminé utilizando una vista de texto porque mi botón fue lo suficientemente simple como para que sea suficiente:

  <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"/>   
 

Changing the background didn't work, as well as padding="@null".

I ended up using a TextView because my button was simple enough for it to suffice:

<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"/> 
 
 
0
 
vote

wrap_content no reducirá un botón más pequeño que el fondo. Si ya está utilizando un parche nueve para el fondo, luego recorte el tamaño de las regiones a las más pequeñas que pueden ser. Si no hay un gradiente, entonces realmente necesita aproximadamente dos píxeles para definir las regiones estirables y luego asegurarse de que el área central sea tan pequeña como pueda ser. Use el relleno (líneas derecha e inferior en Ninepatch) para asignar el relleno.

Si está utilizando una imagen dibujable (no un parche de nueve o XML), haga que sea un parche de nueve parches

Si no desea resolver el problema en la imagen, deberá configurar el Layout_Height a un valor fijo para forzar la imagen para reducir (es decir, no use WRAP_CONTENT)

 

wrap_content will not shrink a button smaller than the background. If you are already using a nine patch for the background, then cut back the size of the regions to the smallest they can be. If there's not a gradient, then you only really need about two pixels to define the stretchable regions and then make sure the central area is as small as it can be. Use the padding (right and bottom lines on ninepatch) to allocate the padding.

If you're using a drawable image (not a nine-patch or xml drawable) then make it a nine patch drawable

If you don't want to solve the problem in the image, you will need to set the layout_height to a fixed value to force the image to shrink (ie don't use wrap_content)

 
 
0
 
vote

El fondo está agregando relleno no deseado

 

The background is adding unwanted padding

 
 
0
 
vote

Agregar solo Minheight no funciona. También necesita configurar VerticalPadding a 0DP

  <Button         android:id="@+id/button1"         style="@style/Widget.MaterialComponents.Button.TextButton"         android:layout_gravity="center"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:minHeight="1dp"         android:paddingVertical="0dp"         android:textSize="14sp"         android:text="Login"/>   
 

Adding just minHeight doesn't work. You also need to set verticalPadding to 0dp

<Button         android:id="@+id/button1"         style="@style/Widget.MaterialComponents.Button.TextButton"         android:layout_gravity="center"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:minHeight="1dp"         android:paddingVertical="0dp"         android:textSize="14sp"         android:text="Login"/> 
 
 

Relacionados problema

3  Intención de video de Android: control de control?  ( Android video intent control back button ) 
Estoy trabajando en una aplicación de Android que reproduce el video, utilizando una intención: tostart = new Intent(Intent.ACTION_VIEW); tostart.setDataAn...

0  deshabilitar las llamadas entrantes  ( Disable incoming calls ) 
es posible deshabilitar las llamadas entrantes. ...

2  Bluetoothchat no funciona  ( Bluetoothchat doesnt work ) 
Hola, quiero hacer conversación entre dispositivos Android. Utilizo BluetoothChat para hacer esto, pero no funciona, no puedo leer datos correctamente de otro...

59  Haciendo que el eclipse se comporten como Visual Studio  ( Making eclipse behave like visual studio ) 
Estoy haciendo un desarrollo de Android, y prefiero mucho el estudio visual, pero tendré que usarlo eclipse para esto. ¿Alguien ha hecho una herramienta q...

3  Usando tamizado para la realidad aumentada  ( Using sift for augmented reality ) 
Me he encontrado con muchas bibliotecas / SDK / API de AR, todos ellos están basados ​​en marcadores, hasta que encontré Este video , de la descripción y los...

83  Parse HTML en Android  ( Parse html in android ) 
Estoy tratando de analizar HTML en Android desde una página web, y desde la página web no está bien formada, obtengo SAXException . ¿Hay alguna manera de a...

7  En el enlace del navegador de Android no siempre ejecuta ONCLICK CAUSE FOCUS  ( In android browser link does not always execute onclick causing focus instead ) 
Estoy tratando de programar un comportamiento JS muy estándar para un enlace con un HREF OnClick Handler, y estoy enfrentando un problema extraño causado por ...

1  Facebook Connect para Android  ( Facebook connect for android ) 
Estoy buscando una solución para Facebook Connect para Android. Antes de utilizar una solución de código abierto de CODECARPET: http://code.google. com / p...

10  ¿Internales de Android y restricciones de memoria / procesador?  ( Android internals and memory processor constraints ) 
Estoy considerando crear un lector de pantalla para Android. Mis preguntas son las siguientes: ¿Una de las partes internas de Android están expuestas a través...

39  ¿Cómo implementa el menú contextual en un Listactivity en Android?  ( How do you implement context menu in a listactivity on android ) 
¿Cómo implementa un menú de contexto activado por un clic largo o toque en una lista que está utilizando los diseños incorporados y un cuadro de lista? ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos