Day2.3-A ndroid常用レイアウトのRelativeLayout
6297 ワード
(一)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つだけです.
実行効果は次のとおりです.
中心の上に「上」テキスト情報を表示するには、次の図の2番目のTextViewのような2番目の属性のセットを使用する必要があります.
実行効果は次のとおりです.
図から分かるように、「上」はすでに中心の上に表示されているが、中心と左揃えではない.コントロールを中心の真上または真下に表示する必要がある場合は、下図の3番目のTextViewのような3番目の属性のセットを使用する必要がある.
次のように動作します.
以上のように、RelativeLayoutの属性は、一般的に3つの属性を組み合わせて使用され、必要な表示効果を達成します.
(二)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つの属性を組み合わせて使用され、必要な表示効果を達成します.