Tengo el siguiente código, ¿cómo lo hago para que los 3 botones estén en la parte inferior?
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:gravity="center"
android:text="@string/observer"
android:textAppearance="?android:attr/textAppearanceLarge"
tools:context=".asdf"
android:weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="1" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="2" />
<Button
android:id="@+id/button3"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="3" />
</LinearLayout>
android
xml
android-layout
button
android-linearlayout
thedeepfield
fuente
fuente
android:weight="1"
que probablemente quisiste decirandroid:layout_weight="1"
. Sin embargo, este no es tu problema.Respuestas:
Debe asegurarse cuatro cosas:
LinearLayout
tienelayout_height="match_parent"
LinearLayout
tienelayout_weight="1"
ylayout_height="0dp"
TextView
tienelayout_weight="0"
LinearLayout: android:gravity="center|bottom"
Tenga en cuenta que eso
fill_parent
no significa "ocupar todo el espacio disponible". Sin embargo, si usalayout_height="0dp"
conlayout_weight="1"
, una vista ocupará todo el espacio disponible ( No se puede obtener el diseño adecuado con "fill_parent" ).Aquí hay un código que escribí rápidamente que usa dos LinearLayouts de manera similar a su código.
El resultado es similar a esto:
fuente
layout_weight="0"
o lo que realmente hace?Puede usar
RelativeLayout
ay alinearlo al fondo conandroid:layout_alignParentBottom="true"
fuente
layout_weight="1"
. Con esto, su LinearLayout ocupará la altura que queda en la pantalla; ahora puede establecer la gravedad de sus botones en la parte inferior.Cree un diseño relativo y dentro de ese diseño cree su botón con esta línea
fuente
android:layout_centerHorizontal="true"
para centrarlo horizontalmente lo convierte en una excelente solución.primero cree el nombre del archivo, ya que
footer.xml
ponga este código dentro de él.luego cree header.xml y ponga este código dentro de él .:
y luego en su
main_activity.xml
y poner este código dentro de él: -feliz codificación :)
fuente
Puede hacer esto tomando un diseño de Marco como Diseño principal y luego colocando un diseño lineal dentro de él. Aquí hay un ejemplo:
fuente
fuente
Simplemente agregue layout_weight = "1" a su diseño Lineal que tenga Botones.
Editar: - déjame hacerlo simple
siga algo como a continuación, el nombre de las etiquetas puede no ser correcto, es solo una Idea
fuente
LL1
elemento como espaciador, por lo que todo lo siguiente estará en la parte inferior? Truco bastante bueno.Agregar
android:windowSoftInputMode="adjustPan"
al manifiesto - a la actividad correspondiente:fuente
Puede agrupar sus botones dentro de un diseño relativo incluso si su diseño principal es lineal. Asegúrese de que el padre más externo tenga el atributo android: layout_height establecido en match_parent . Y en esa etiqueta de botón, agregue 'android: alignParentBottom = "True"'
fuente