首页 > 代码库 > android,布局总结(常用布局规律)

android,布局总结(常用布局规律)

1.在使用Relativelayout的时候,在给Relativelayout设置属性:
android:gravity="center_vertical"的时候,容器的子view里面高度最高的是垂直居中,
其他相对比较矮的子view就靠着最高的子view顶部布局。
2.在Relativelayout的时候,如果、Relativelayout使用了android:gravity的时候,
比如:android:gravity:"center:vertical",那么子view使用android:layout_alignparentbottom
会导致父view的gravity属性失效,而且会影响到其他子view.

总结在使用RelativeLayout布局的时候,如果子view 有多个,需要所有字view水平垂直居中
那么有两种办法:
1.父view不加android:gravity="center-vertical",每个子view都加上一个android:
layout_centervetical="true"的属性即可.

如下:

<?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="250dp"
android:background="#000">
<TextView
android:id="@+id/mydd"
android:layout_width="50dp"
android:layout_height="90dp"
android:background="#666"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="哈哈"
/>
<TextView
android:id="@+id/dd2"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="#888"
android:layout_centerVertical="true"

android:layout_toLeftOf="@id/mydd"
android:text="哈哈"
/>
<ImageView
android:layout_width="50dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/dd2"
android:src="http://www.mamicode.com/@android:drawable/btn_default"
/>
</RelativeLayout>


2.父view加上android:gravity="center-vertical",每个子view加上android:gravity
="center-vertical",然后根据android:alignBaseline来居中。(适合子view可以设置gravity
的view)

代码如下:

<?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="250dp"
android:background="#000"
android:gravity="center_vertical">
<TextView
android:id="@+id/mydd1"
android:layout_width="50dp"
android:layout_height="90dp"
android:background="#666"
android:gravity="center_vertical"
android:layout_alignParentRight="true"
android:text="哈哈"
/>
<TextView
android:id="@+id/ddd"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="#888"
android:gravity="center_vertical"
android:layout_toLeftOf="@id/mydd1"
android:text="哈哈"
android:layout_alignBaseline="@id/mydd1"></TextView></RelativeLayout>

android,布局总结(常用布局规律)