![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
||||
|
||||
bordes desiguales
Hola gente, tengo un linearlayout con dos botones, con el siguiente código:
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android ![]() android:background="#000022" android:padding="4dp" > <Button android:id="@+id/Button01" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="@string/Uno" android:layout_weight="1" android:layout_margin="4dp" /> <Button android:id="@+id/Button02" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="@string/Dos" android:layout_weight="1" android:layout_margin="4dp" /> </LinearLayout> Pretendo que los botones queden centrados en el linearlayout y lo hace más o menos..., pero siempre me queda el borde inferior más ancho que el superior... no mucho, peor si lo suficiente para que se note a simple vista. Ya he intentado pone la linea android:gravity="center_vertical", pero nada, el margen inferior siempre es algo más ancho que el superior... ¿Como se hace para centrar verticalmente los botones ? |
|
#2
|
||||
|
||||
No entiendo lo de que te queda el borde inferior más ancho que el superior, ¿insinúas que los botones tienen forma de trapecio? ¿Puedes poner una captura a ver si así puedo entender cual es el problema?
|
#3
|
||||
|
||||
jejejeje, no, no son trapecios.
Me refiero a la distancia del botón al linearlaout, con la linea android:padding="4dp" yo esperaba que hubiera un margen de 4dp, de los botones hacia el borde superior, inferior, derecha y izquierda, pero, mientras el margen los margenes de derecha e izquierda si que son iguales, el superior e inferior no lo son...el inferior es más ancho... Ahora voy con prisas, si nadie responde mañana pongo una captura para que lo veais más claro. |
#4
|
||||
|
||||
Vale, creo que ya se lo que quieres decir.
Quita el android:layout_margin="4dp" en button01 y button02, cuando usas "weight" al LinearLayout no le gusta mucho que uses márgenes en los elementos que van dentro. Si quieres 4dp de separación entre button01 y button02 lo que tienes que hacer es insertar un LinearLayout transparente que mida 4dp entre button01 y button02, obviamente sin "weight". Y por último, no uses match_parent en los Buttons, porque ya le estás indicando que llevan "weight", así que deberías poner 0dp. El resultado final dentro del LinearLayout sería este: <Button android:id="@+id/Button01" android:layout_height="wrap_content" android:layout_width="0dp" android:text="@string/Uno" android:layout_weight="1" /> <LinearLayout android:layout_height="wrap_content" android:layout_width="4dp" android:background="@null" /> <Button android:id="@+id/Button02" android:layout_height="wrap_content" android:layout_width="0dp" android:text="@string/Dos" android:layout_weight="1" /> |
#5
|
||||
|
||||
Pues no...
He hecho lo que me has dicho y el botón sigue sin salir centrado... Añado una foto para que veas como me sale a mi, la he recortado salvajemente porque si no salía con un tamaño mástodóntico, pero se ve lo importante, he puesto 2 lineas azules por fuera del LinearLayout para que se vea más fácil el problema, que es que el botón no sale centrado verticalmente, sale unos pixeles más arriba de lo que debe... Lo que dices de los match_parent en los botones yo ya había pensado que no tenía sentido y había optado por eliminar el android:layout_width, pero entonces me daba error, por eso los dejé puestos, pero si, mejor ponerlos a 0dp. ![]() |
#6
|
||||
|
||||
Creo que tienes que tener la orientacion del layout donde tienes el boton centrado y luego centrar el boton, o al menos asi lo hago yo
![]() |
#7
|
||||
|
||||
Vale, ya se lo que quieres decir, prueba poniendo en cada uno de los Buttons esto:
android:layout_gravity="center" |
#8
|
||||
|
||||
Ya lo había intentado y me sigue saliendo igual.
|
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 18:45:17 (GMT +2)
HTCMania: líderes desde el 2007