Day2.3-A ndroid常用レイアウトのRelativeLayout


(一)RelativeLayout-相対レイアウト、コントロール間の相対位置に従ってレイアウトすることを指す
(二)RelativeLayoutの特有属性:
1、android:gravityレイアウトコンテナ内のサブコントロールの位置合わせを設定する
2、android:ignoreGravityレイアウトマネージャ内のgravityプロパティの影響を受けないコントロールの設定
(3)RelativeLayoutサブコントロールの使用可能な属性:
RelativeLayoutの内部サブコントロールの配置によって、属性を3つのグループに分けることができます.
A、第一グループ:指
コントロールと親レイアウトの位置合わせ関係.このグループのプロパティの値はtrueまたはfalseです.(配置された参照点は親コンテナ)
layout_alignParentRight親レイアウトコントロールと右揃えlayout_alignParentLeft親レイアウトコントロールと左揃えlayout_alignParentTopこのコントロールは、親レイアウトコントロールの先頭に揃えられています.
layout_alignParentBottom親レイアウトコントロールの下部に揃えます.
layout_centerInParent親レイアウトコントロールの中心位置layout_centerVertical親レイアウトコントロール垂直中心位置layout_centerHorizontal親レイアウトコントロールの水平中心位置B、第2グループ:兄弟コントロール間の相対位置を指す.このグループのプロパティの値は、別のコントロールのidです.(配置された参照点は他の兄弟コントロール)
layout_toRightOfこのコントロールはどのコントロールの右側にあるかlayout_toLeftOfこのコントロールがどのコントロールの左側にあるかlayout_aboveこのコントロールがどのコントロールの上側にあるかlayout_belowこのコントロールはどのコントロールの下側にあるかC、第三グループ:指
兄弟コントロール間
の双曲線コサインを返します.このグループのプロパティの値は、別のコントロールのidです.
layout_alignRightこのコントロールとどのコントロールの右揃えlayout_alignLeftこのコントロールとどのコントロールの左揃えlayout_alignTopこのコントロールはどのコントロールのトップに位置合わせしますかlayout_alignBottomこのコントロールはどのコントロールの下に位置合わせしますか次の3つのケースを使用して、面の3つのグループの使用逆式を順に説明します.
次のコードは、最初のグループのプロパティを使用します.レイアウトの内部に対してTextViewが画面の中心に表示されているのは1つだけです.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <!-- 
    		   :
    		             。       true  false
    		layout_alignParentRight                      
		layout_alignParentLeft                       
		layout_alignParentTop                         
		layout_alignParentBottom                      
		layout_centerInParent                          
		layout_centerVertical                            
		layout_centerHorizontal                          
     -->
    <TextView
        android:id="@+id/textCenter"
        android:text="  "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
</RelativeLayout>

実行効果は次のとおりです.
中心の上に「上」テキスト情報を表示するには、次の図の2番目のTextViewのような2番目の属性のセットを使用する必要があります.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <!-- 
    		   :
    		             。       true  false
    		layout_alignParentRight                      
		layout_alignParentLeft                       
		layout_alignParentTop                         
		layout_alignParentBottom                      
		layout_centerInParent                          
		layout_centerVertical                            
		layout_centerHorizontal                          
     -->
    <TextView
        android:id="@+id/textCenter"
        android:text="  "
        android:textSize="30dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
    
    <!-- 
    		   :
    		           。             id。(              )
		layout_toRightOf                 
		layout_toLeftOf                  
		layout_above                     
		layout_below                     
     -->
     <TextView
         android:id="@+id/textAbove"
         android:text=" "
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_above="@id/textCenter" />
</RelativeLayout>

実行効果は次のとおりです.
図から分かるように、「上」はすでに中心の上に表示されているが、中心と左揃えではない.コントロールを中心の真上または真下に表示する必要がある場合は、下図の3番目のTextViewのような3番目の属性のセットを使用する必要がある.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    <!-- 
    		   :
    		             。       true  false
    		layout_alignParentRight                      
		layout_alignParentLeft                       
		layout_alignParentTop                         
		layout_alignParentBottom                      
		layout_centerInParent                          
		layout_centerVertical                            
		layout_centerHorizontal                          
     -->
    <TextView
        android:id="@+id/textCenter"
        android:text="  "
        android:textSize="30sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
    
    <!-- 
    		   :
    		           。             id。(              )
		layout_toRightOf                 
		layout_toLeftOf                  
		layout_above                     
		layout_below                     
     -->
     <TextView
         android:id="@+id/textAbove"
         android:text=" "
         android:textSize="30sp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_above="@id/textCenter" />
     
     <!-- 
     	   :
     	           。             id。
		layout_alignRight                   
		layout_alignLeft                    
		layout_alignTop                     
		layout_alignBottom                  
      -->
      <TextView
         android:id="@+id/textBelow"
         android:text="  "
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@id/textCenter"
         android:layout_alignLeft="@id/textCenter" />
      
</RelativeLayout>

次のように動作します.
以上のように、RelativeLayoutの属性は、一般的に3つの属性を組み合わせて使用され、必要な表示効果を達成します.