遇到问题:
父布局为RelativeLayout,textview设置layout_gravity="center_vertical" ,但是该textview仍然位于布局的顶部,而非居中。
处理方法:
textview的android:layout_height="wrap_content"改为android:layout_height="match_parent"。
原因分析:
android:layout_gravity 是相对与它的父元素,说明元素显示在父元素的什么位置。但是如果该子元素本身高度如果为wrap_content,则会导致android:layout_gravity失效。
<!-- 头部导航 -->
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#FF4500"
android:gravity="center_vertical"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_loc"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:text="深圳市南山区龙珠六路"
android:textColor="#FFFFFFFF"
android:textSize="16sp"/>
<!-- 头部右边 -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:gravity="center_vertical" >
<include layout="@layout/top_right" />
</LinearLayout>
</RelativeLayout>