Eu tenho o código a seguir, como faço para que os 3 botões estejam na 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
fonte
fonte
android:weight="1"
você provavelmente quis dizerandroid:layout_weight="1"
. Este não é o seu problema.Respostas:
Você precisa garantir quatro coisas:
LinearLayout
temlayout_height="match_parent"
LinearLayout
temlayout_weight="1"
elayout_height="0dp"
TextView
temlayout_weight="0"
LinearLayout: android:gravity="center|bottom"
Observe que
fill_parent
isso não significa "ocupar todo o espaço disponível". No entanto, se você usarlayout_height="0dp"
comlayout_weight="1"
, uma visualização ocupará todo o espaço disponível ( Não é possível obter o layout adequado com "fill_parent" ).Aqui está um código que eu escrevi rapidamente que usa dois LinearLayouts de maneira semelhante ao seu código.
O resultado é semelhante a este:
fonte
layout_weight="0"
ou o que realmente faz?Você pode usar
RelativeLayout
ae alinhá-lo ao fundo comandroid:layout_alignParentBottom="true"
fonte
layout_weight="1"
. Com isso, o seu LinearLayout ocupará a altura restante na tela; Agora você pode definir a gravidade dos seus botões para baixo.Crie um layout relativo e, dentro desse layout, crie seu botão com esta linha
fonte
android:layout_centerHorizontal="true"
para centralizá-lo horizontalmente torna essa uma ótima solução.primeiro crie o nome do arquivo e
footer.xml
coloque esse código dentro dele.então crie header.xml e coloque esse código dentro dele:
e depois no seu
main_activity.xml
e coloque esse código dentro dele: -codificação feliz :)
fonte
Você pode fazer isso tomando um layout de Quadro como Layout pai e, em seguida, coloque um layout linear dentro dele. Aqui está um exemplo:
fonte
fonte
Basta adicionar layout_weight = "1" ao seu linearLayout, que possui botões.
Edit: - deixe-me simplificar
siga algo como abaixo, o nome das tags pode não estar correto, é apenas uma ideia
fonte
LL1
elemento como espaçador, para que tudo o que se segue esteja na parte inferior? Truque bem arrumado.Adicionar
android:windowSoftInputMode="adjustPan"
ao manifesto - à atividade correspondente:fonte
Você pode agrupar seus botões em um RelativeLayout, mesmo que o layout principal seja linear. Verifique se o pai mais externo possui o atributo android: layout_height definido como match_parent . E nessa tag Button, adicione 'android: alignParentBottom = "True"'
fonte