相对布局(RelativeLayout)
1.控件的位置总是相对父容器或兄弟控件的
2.如果A控件的位置与B控件是相对的,那B控件要先定义
3.每个控件使用layoutParents规定的参数来定义相对位置
相应的题目如下:
<?xml version="1.0" encoding="utf-8"?>
<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:background="#000000"
tools:context="com.zking.g160618_android02_layout.MainActivity">
<TextView
android:layout_width="66dp"
android:layout_height="66dp"
android:text="RED"
android:background="#ff00"
android:textSize="30sp"
android:textColor="#ffffff"
android:gravity="center"
/>
<TextView
android:layout_width="66dp"
android:layout_height="66dp"
android:text="Orange"
android:background="#FFA600"
android:gravity="center"
android:layout_centerHorizontal="true"
/>
<TextView
android:layout_width="66dp"
android:layout_height="66dp"
android:text="Yellow"
android:background="#FFFF00"
android:gravity="center"
android:layout_alignParentRight="true"
/>
<TextView
android:layout_width="66dp"
android:layout_height="66dp"
android:text="Blue"
android:background="#0000ff"
android:gravity="center"
android:layout_centerInParent="true"
android:id="@+id/tv_main_blue"
android:layout_margin="10dp"
/>
<TextView
android:layout_width="66dp"
android:layout_height="66dp"
android:text="Green"
android:background="#00ff00"
android:gravity="center"
android:layout_toLeftOf="@id/tv_main_blue"
android:layout_centerVertical="true"
/> //BOOLEAN
<TextView
android:layout_width="66dp"
android:layout_height="66dp"
android:text="Indigo"
android:background="#4A0084"
android:gravity="center"
android:layout_toRightOf="@id/tv_main_blue"
android:layout_alignBottom="@id/tv_main_blue"
/>//ID
<TextView
android:layout_width="match_parent"
android:layout_height="66dp"
android:text="Violet"
android:background="#EF82EF"
android:gravity="center"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
效果如图:
TextView中注释了BOOLEAN 属性:
具体用法如图:
TextView中注释了ID属性:
具体用法如图:
Android 4.0
新布局:
RTL(从右往左):
如图给按钮二加上左边距100dp
当layoutDirection属性值设为 “rtl”时明显可以看出左右间距不见了
实际上得把 layout_marginLeft也做改动为layout_marginStart效果就出来了