Android(android)の5つのレイアウトのまとめと実例のプレゼンテーション


Android開発に欠かせない5つのレイアウトの使用を紹介します.
1、線形レイアウトLinearLayout:
このレイアウトは、アトリビュートに設定された水平方向または垂直方向に自動的にコントロールを編成し、簡単に使用できます.比較的重要なプロパティorientationは、水平方向(horizontal)と垂直方向(vertical)に分けて線形レイアウトのレイアウト方向を設定するために使用されます.
例を次に示します.
    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
         <Button 
          android:id="@+id/button1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          />
      <Button 
          android:id="@+id/button2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          />
    </LinearLayout>

2、相対レイアウト
RelativeLayout:
このレイアウトは、各コントロール間の相対的な順序で編成されるレイアウト方式であり、重要な属性はlayout_である.toLeftOf、layout_toRightOf、layout_above、layout_belowは、コントロール間の相対的な位置を規定します.
例を次に示します.
<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="match_parent"
    android:gravity="center">

  <Button 
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="button1"
      android:textSize="16dp"
      />
       
   <Button 
       android:id="@+id/button2"
       android:layout_toRightOf="@id/button1"
       android:layout_below="@id/button1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="button2"
       android:textSize="16dp"
       />

</RelativeLayout>

3、絶対レイアウトAbsoluteLayout:
このレイアウト方式は、コントロールが存在する絶対位置座標をハードに定義することによってレイアウトを完了し、重要な属性はlayout_である.x、layout_y、コントロールの絶対位置座標を決定するために使用されます.このように使用すると硬くなり、各ブランドのアンドロイド製品の画面サイズが異なるため、コントロールの位置表示が一致しないという問題が発生し、使用をお勧めしません.
例を次に示します.
<AbsoluteLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <TextView 
        android:layout_x="50dp"
        android:layout_y="50dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
</AbsoluteLayout>

4、フレームレイアウト(フレームレイアウト)FrameLayout:
このレイアウト方式は、コントロールを積層して編成し、コントロール間で互いに上書きする効果があり、後にロードされたコントロールは、重複した領域で先にロードされたコントロールを上書きします.
例を次に示します.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView 
        android:id="@+id/image"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/test"
        android:layout_gravity="center"
        />
    <ImageView 
        android:id="@+id/image1"
        android:layout_width="63dp"
        android:layout_height="46dp"
        android:background="@drawable/test1"
        android:layout_gravity="center"
        android:layout_marginTop="80dp"
        />
    <ImageView 
        android:id="@+id/image2"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:layout_marginEnd="70dp"
        android:background="@drawable/test2"
        />
</FrameLayout>

5、表レイアウトTableLayout:
このレイアウトでは、Table Rowというプロパティを使用して表の行を表し、paddingは間隔を表し、collapseColumnsは非表示の列インデックスを表し、shrinkColumnsは縮小された列インデックスを表し、stretchColimnsの設定では列インデックスをストレッチできます.この3つの設定では、複数の列に関連する場合はカンマで区切られます.
 <TableLayout 
         android:id="@+id/tablelayout1"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:background="#FFFFFF"
         android:stretchColumns="0"
         >
         <TableRow 
             android:id="@+id/tablerow1"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             >
             <TextView 
                 android:id="@+id/textview"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:background="#fd8d8d"
                 android:textColor="#000000"
                 android:padding="4dp"
                 android:text="       "
                 />
             
         </TableRow>
         
     </TableLayout>
     <TableLayout 
         android:id="@+id/mytable2"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:stretchColumns="0,1,2,3"
         >
         <TableRow 
             android:id="@+id/tablerow2"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             >
             <Button 
                 android:id="@+id/button1"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:text="button1" 
                 />
              <Button 
                 android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="button2"
                 />
               <Button 
                 android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="button3"
                 />
               <Button 
                 android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="button4"
                 />
         </TableRow>
         
     </TableLayout>
     <TableLayout 
         android:id="@+id/mytablelayout3"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:stretchColumns="0"
         >
         <TableRow 
             android:id="@+id/tablerow1"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             >
             <EditText 
                 android:id="@+id/edittext"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="  "
                 />
             
         </TableRow>
         
     </TableLayout>

以上の5つのレイアウトにはそれぞれ適切な使用シーンがあり、開発者は異なるニーズに応じて
相互ネスト
満足のいく効果を達成するために使用します.