Placez les boutons au bas de l'écran avec LinearLayout?

J'ai le code suivant, comment puis-je le faire pour que les 3 boutons soient en bas?

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

  • Surlignez sur clickbespan cliquez sur
  • ViewPager ne redessine pas le contenu, reste / devient vide
  • Card.io Mono pour Android (Xamarin Studio)
  • Pourquoi mon portable n'est-il pas répertorié comme DataSource dans Google Fit API?
  • Le support d'Android BottomSheetBehavior ne peut pas être dynamique?
  • Les paramètres de proxy Android s'appliquent-ils à toutes les applications sur le périphérique?
  • Android ouvrir et enregistrer des fichiers vers / depuis Google Drive SDK
  • Quelle est la signification de android.intent.action.MAIN?
  • Appcelerator vs Android SDK
  • Différence entre la tâche en cours et le processus en cours sur Android
  • Comment calculer un rayon autour d'un point dans un MapView Android?
  • Comment compiler une bibliothèque fourmillée à Gradle?
  • 8 Solutions collect form web for “Placez les boutons au bas de l'écran avec LinearLayout?”

    Vous devez vous assurer quatre choses:

    • Votre LinearLayout comporte layout_height="match_parent"
    • Votre LinearLayout intérieur comporte layout_weight="1" et layout_height="0dp"
    • Votre TextView a layout_weight="0"
    • Vous avez défini la gravité correctement sur votre LinearLayout: android:gravity="center|bottom" interne LinearLayout: android:gravity="center|bottom"

    Notez que fill_parent ne signifie pas "reprendre tous les espaces disponibles". Cependant, si vous utilisez layout_height="0dp" avec layout_weight="1" , une vue prendra tout l'espace disponible ( Impossible d'obtenir une mise en page correcte avec "fill_parent" ).

    Voici un code que j'ai écrit rapidement qui utilise deux LinearLayouts de la même manière que votre code.

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/db1_root" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="@string/cow" android:layout_weight="0" android:textAppearance="?android:attr/textAppearanceLarge" /> <LinearLayout android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:gravity="center|bottom" 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> </LinearLayout> 

    Le résultat ressemble à ceci:

    Entrez la description de l'image ici

    Vous pouvez utiliser un RelativeLayout et l'aligner en bas avec android:layout_alignParentBottom="true"

    Créer une mise en page relative et à l'intérieur de cette disposition, créez votre bouton avec cette ligne

     android:layout_alignParentBottom="true" 

    Créez d'abord le nom de fichier comme footer.xml met ce code à l'intérieur.

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="78dp" android:layout_gravity="bottom" android:gravity="bottom" android:layout_weight=".15" android:orientation="horizontal" android:background="@drawable/actionbar_dark_background_tile" > <ImageView android:id="@+id/lborder" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/overlay" /> <ImageView android:id="@+id/unknown" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/notcolor" /> <ImageView android:id="@+id/open" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/openit" /> <ImageView android:id="@+id/color" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/colored" /> <ImageView android:id="@+id/rborder" android:layout_width="0dp" android:layout_height="wrap_content" android:background="@drawable/action_bar_left_button" android:src="@drawable/frames" android:layout_weight=".14" /> </LinearLayout> 

    Puis créez header.xml et met ce code à l'intérieur de celui-ci .:

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="@dimen/action_bar_height" android:layout_gravity="top" android:baselineAligned="true" android:orientation="horizontal" android:background="@drawable/actionbar_dark_background_tile" > <ImageView android:id="@+id/contact" android:layout_width="37dp" android:layout_height="wrap_content" android:layout_gravity="start" android:layout_weight=".18" android:scaleType="fitCenter" android:background="@drawable/action_bar_left_button" android:src="@drawable/logo"/> <ImageView android:id="@+id/share" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="start" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/share" /> <ImageView android:id="@+id/save" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/save" /> <ImageView android:id="@+id/set" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/set" /> <ImageView android:id="@+id/fix" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/light" /> <ImageView android:id="@+id/rotate" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/ic_menu_rotate" /> <ImageView android:id="@+id/stock" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight=".14" android:background="@drawable/action_bar_left_button" android:src="@drawable/stock" /> </LinearLayout> 

    Puis dans votre main_activity.xml et mettez ce code à l'intérieur: –

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="fill_parent" tools:context=".MainActivity" android:id="@+id/relt" android:background="@drawable/background" > <LinearLayout android:layout_width="fill_parent" android:layout_height="78dp" android:id="@+id/down" android:layout_alignParentBottom="true" > <include android:layout_width="fill_parent" android:layout_height="78dp" layout="@layout/footer" > </include> </LinearLayout> <ImageView android:id="@+id/view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/down" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/inc" > </ImageView> <include layout="@layout/header" android:id="@+id/inc" android:layout_width="fill_parent" android:layout_height="50dp"></include> 

    Bon codage 🙂

    Ajoutez simplement layout_weight = "1" dans votre ligne linéaire avec des boutons.

    Modifier: – Permettez-moi de simplifier

    Suivez quelque chose comme ci-dessous, le nom des tags peut ne pas être correct, c'est juste une idée

     <LL>// Top Parrent LinearLayout <LL1 height="fill_parent" weight="1" "other tags as requirement"> <TV /><Butons /></LL1> // this layout will fill your screen. <LL2 height="wrap_content" weight="1" orientation="Horizontal" "other tags as requirement"> <BT1 /><BT2/ ></LL2> // this layout gonna take lower part of button height of your screen <LL/> TOP PARENT CLOSED 

    Ajouter android:windowSoftInputMode="adjustPan" à manifester – à l'activité correspondante:

      <activity android:name="MyActivity" ... android:windowSoftInputMode="adjustPan" ... </activity> 

    Vous pouvez regrouper vos boutons dans un délai relatif même si votre présentation parentale est linéaire. Assurez-vous que le parent le plus externe a l' Android: l' attribut layout_height est configuré pour correspondre_parent . Et dans cette balise de bouton ajouter 'android: alignParentBottom = "True"'

    Utilisez RelativeLayout:

      <RelativeLayout android:id="@+id/bottom_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:layout_alignParentBottom="true" android:text="Button2" /> </RelativeLayout> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.