一、
public class
RelativeLayout
extends ViewGroup
java.lang.Object | |
↳ | android.view.View |
android.view.ViewGroup | |
android.widget.RelativeLayout |
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQWZz9Gbj1SZsdmbhlmc09CXzV2Zh1Wavw1c0V2czF2Lc12bj5yc1J2awFmLpBXYvw1LcpDc0RHaiojIsJye.png)
已知直接子類
DialerFilter, TwoLineListItem
android:layout_marginTop="25dip" //頂部距離
android:gravity="left" //空間布局位置
android:layout_marginLeft="15dip //距離左邊距
// 相對于給定ID控件
android:layout_above 将該控件的底部置于給定ID的控件之上;
android:layout_below 将該控件的底部置于給定ID的控件之下;
android:layout_toLeftOf 将該控件的右邊緣與給定ID的控件左邊緣對齊;
android:layout_toRightOf 将該控件的左邊緣與給定ID的控件右邊緣對齊;
android:layout_alignBaseline 将該控件的baseline與給定ID的baseline對齊;
android:layout_alignTop 将該控件的頂部邊緣與給定ID的頂部邊緣對齊;
android:layout_alignBottom 将該控件的底部邊緣與給定ID的底部邊緣對齊;
android:layout_alignLeft 将該控件的左邊緣與給定ID的左邊緣對齊;
android:layout_alignRight 将該控件的右邊緣與給定ID的右邊緣對齊;
// 相對于父元件
android:layout_alignParentTop 如果為true,将該控件的頂部與其父控件的頂部對齊;
android:layout_alignParentBottom 如果為true,将該控件的底部與其父控件的底部對齊;
android:layout_alignParentLeft 如果為true,将該控件的左部與其父控件的左部對齊;
android:layout_alignParentRight 如果為true,将該控件的右部與其父控件的右部對齊;
// 居中
android:layout_centerHorizontal 如果為true,将該控件的置于水準居中;
android:layout_centerVertical 如果為true,将該控件的置于垂直居中;
android:layout_centerInParent 如果為true,将該控件的置于父控件的中央;
// 指定移動像素
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;
二、Activity布局初步 - 相對布局
1、 相對布局的基本概念
一個控件的位置它決定于它和其他控件的關系,好處:比較靈活;缺點:掌握比較複雜。
2、 相對布局常用屬性介紹
這裡将這些屬性分成4個組,便于了解和記憶。
a)、以下4個屬性設定控件與之間的關系和位置
但是上面4個屬性并沒有設定各個控件之間是否對齊。
示例1:将控件A放置在控件B的上面,則使用android:layout_above屬性,控件布局的效果可以有以下這麼兩種情況。
1、 控件A與控件B對齊,并且控件A是在控件B的上面。
2、 控件A沒有與控件B對齊,但是控件A又确實是在控件B的上面。
b)、以下5個屬性,設定的是控件與控件之間對齊的方式(是頂部、底部還是左、右對齊)。
示例2:在示例1的基礎上,設定控件A放置在控件B的上面,使用android:layout_above屬性,并且控件A的左邊邊緣與控件B的左邊邊緣對齊,使用android:layout_alignLeft屬性。
c)、以下4個屬性設定控件與父控件之間對齊的方式(是頂部、底部還是左、右對齊)。
d)、以下4個屬性設定控件的方向。
可以通過組合這些屬性來實作各種各樣的布局。
注:以上屬性和其他更多屬性的作用都能在android的幫助文檔中找到;
示例3:假如要實作一個如下圖這樣布局的程式
Java代碼
-
-
- <!-- 用相對布局,來布局音量SeekBar上面的圖示布局,包括左邊控制順序播放的圖示,右邊控制随機 播放的圖示-->
-
-
-
- <RelativeLayout
-
-
-
- android:layout_width="fill_parent"
-
-
-
- android:layout_height="wrap_content"
-
-
-
- >
-
-
-
- <ImageButton
-
-
-
- android:background="@drawable/loop_none"
-
-
-
- android:id="@+id/loop"
-
-
-
- android:layout_width="wrap_content"
-
-
-
- android:layout_height="wrap_content"
-
-
-
- android:layout_alignParentLeft="true"
-
-
-
- android:layout_centerVertical="true"
-
-
-
- />
-
-
-
- android:background="@drawable/random"
-
-
-
- android:id="@+id/random"
-
-
-
- android:layout_alignParentRight="true"
-
-
-
-
- <!--android:layout_toRightOf意思是将 SeekBar控件置于給定loop循環播放ImageButton的右邊,layout_toLeftOf的意思是将SeekBar控件置于給定 random随機播放ImageButton的左邊-->
-
-
-
-
- <SeekBar
-
-
-
- android:id="@+id/volum"
-
-
-
- android:layout_width="fill_parent"
-
-
-
- android:layout_height="wrap_content"
-
-
-
- android:layout_toRightOf="@id/loop"
-
-
-
- android:layout_toLeftOf="@id/random"
-
-
-
- android:layout_centerVertical="true"
-
-
-
-
- android:paddingLeft="5dip"
-
-
-
-
-
- android:paddingRight="5dip"
-
-
-
-
- android:progressDrawable="@drawable/seekbar_img"
-
-
-
- android:thumb="@drawable/media_player_progress_button"
-
-
-
- />
-
-
-
- </RelativeLayout>
-
下面是上面代碼的效果,控制音量的部分,順序播放圖示和随機播放圖示相對于seekBar父元件的位置,一左一右。
Face your past without regret. Handle your present with confidence.Prepare for future without fear. keep the faith and drop the fear. 面對過去無怨無悔,把握現在充滿信心,備戰未來無所畏懼。保持信念,克服恐懼!一點一滴的積累,一點一滴的沉澱,學技術需要不斷的積澱!