1: Il existe cinq méthodes de mise en page pour Android, à savoir: LinearLayout (mise en page linéaire), FrameLayout (mise en page à un seul cadre), RelativeLayout (mise en page relative), AbsoluteLayout (mise en page absolue)
(1) Disposition linéaire LinearLayout (disposition linéaire)
: affichage horizontal et vertical. S'il y a plusieurs composants qui dépassent la taille de l'écran, ils ne seront pas affichés. La direction peut être définie par android: orientation. android: orientation = "horizontal" signifie la direction horizontale
android: orientation = "vertical" signifie la direction verticale
<LinearLayout xmlns:android="
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//android:layout_gravity="top"
android:text="Button1"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//android:layout_gravity="center_vertical"
android:text="Button2"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//android:layout_gravity="bottom"
android:text="Button3"/>
<LinearLayout/>
(2) Disposition relative: RelativeLayout
est une disposition généralement utilisée plus souvent.
Aligné à gauche: android: layout_alighParentLeft
Alignement à droite: android: layout_alighParentRight
Alignement supérieur: android: layout_alighParentTop
Alignement en bas: android: layout_alighParentBottom
Centré horizontalement: android: layout_centerHorizontal
Centré verticalement: android: layout_centerVertical
Emplacement central: android: layout_centerInParent
<RelativeLayout xmlns:android="
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Button1"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Button2"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Button3"/>
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:text="Button4"/>
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:text="Button5"/>
<RelativeLayout/>
(3) Disposition du cadre: FrameLayout
est beaucoup plus simple que les deux autres dispositions, il n'a pas de méthode de positionnement pratique, tous les contrôles seront affichés dans le coin supérieur gauche)
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#FF6143" />
<TextView
android:layout_width="150dp"
android:layout_height="150dp"
android:background="#7BFE00" />
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#FFFF00" />
</FrameLayout>
(4) Mise en page absolue
AbsoluteLayout La mise en page absolue est comme div spécifie l'attribut absolu, utilisez les coordonnées X, Y pour spécifier la position de l'élément
android: layout_x = "20px"
android: layout_y = "12px"
Cette méthode de mise en page est également relativement simple, mais à la verticale Lors d'une commutation aléatoire, des problèmes surviennent souvent, et lorsqu'il y a plusieurs éléments, les calculs sont plus compliqués.
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="20dip"
android:layout_y="20dip"
android:text="用户名:" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="80dip"
android:layout_y="15dip"
android:width="200px" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="20dip"
android:layout_y="80dip"
android:text="密 码:" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="80dip"
android:layout_y="75dip"
android:password="true"
android:width="200px" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="130dip"
android:layout_y="135dip"
android:text="登 录" />
</AbsoluteLayout >