2010-08-18 15 views
8

tengo un EditText y un botón en mi LinearLayout y quiero alinearlos muy juntos para que parezcan estar juntos (edittext + micButton para entrada de voz). Ahora no tienen la misma altura y no están realmente bien alineados (el botón parece ser un poco más bajo que EditText). Sé que puedo aplicar un margen negativo como -5dip para hacer que se acerquen, pero ¿hay alguna forma mejor de hacerlo? Establecerlos en un contenedor/diseño específico para que automáticamente tengan la misma altura y sin margen entre ellos?Hacer EditText y Button la misma altura en Android

Respuesta

-1

Android intenta nivelar automáticamente todo fuera del texto y no los botones en sí.

Me tomó para siempre para finalmente resolverlo. Es realmente simple. Debería arreglarlo.

myButton.setGravity(Gravity.CENTER_VERTICAL); 

o si están en una fila ... conecte los botones a una fila de la mesa, luego.

myTableRow.setGravity(Gravity.CENTER_VERTICAL); 
0

Usando el diseño relativo puede estirar una vista dependiendo de otro tamaño de vista sin conocer el tamaño exacto de la otra vista. Aquí está el código:

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    > 
<Button 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:text="button" 
    android:id="@+id/but"/> 
<EditText 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/but" 
    android:layout_alignBottom="@id/but" 
    android:layout_alignTop="@id/but" 
    /> 
</RelativeLayout> 

Comprobar este enlace para reducir el espacio entre los puntos de vista: https://groups.google.com/forum/?fromgroups#!topic/android-developers/RNfAxbqbTIk

0

Hmm, no sé por qué la gente se molestan tanto con tablas. Dado que las dos vistas son dentro de un LinearLayout (orientación presumible = Horizontal), este comando debe centrar tanto en el diseño:

<LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" /> 

    </LinearLayout> 

Nota: Desde EditTexts y botones pueden orientar su texto de forma ligeramente diferente, puede que tenga que Realice algunos ajustes (cambiando los márgenes o el relleno) para que el texto se alinee correctamente.

0

espero que esta solución podría ayudar para su escenario ... Aquí está el código ..

<RelativeLayout 
     android:id="@+id/rlLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="15dp" 
     android:orientation="horizontal" 
     android:padding="3dp" > 

    <EditText 
     android:id="@+id/etId" 
     android:layout_width="fill_parent" 
     android:layout_height="50dip" 
     android:background="#c8c8c8" 
     android:hint="Edittext" 
     android:paddingLeft="20dip" 
     android:paddingRight="10dip" 
     android:textColor="#000000" /> 

    <RelativeLayout 
     android:id="@+id/rlLayoutid" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_alignRight="@+id/etId" > 

     <Button 
      android:layout_width="30dp" 
      android:layout_height="30dp" 
      android:layout_alignParentRight="true" 
      android:layout_marginRight="14dp" 
      android:layout_marginTop="10dp" 
      android:background="@drawable/calender" /> 
    </RelativeLayout> 
</RelativeLayout> 

0

@ Daniel aquí se puede utilizar el peso diseño y la suma del peso

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:weight_sum=2  
     > 
    <Button 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight=1 
     android:text="button" 
     android:id="@+id/but"/> 
    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight=1  
     /> 
    </LinearLayout> 
Cuestiones relacionadas