什么是之间layout_gravity =&QUOT的差值; center_vertical"和layout_centerVertical = QUOT;真"差值、QUOT、lay

2023-09-07 14:33:01 作者:旧事酒浓

我有这样的布局

<?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"
              android:padding="@dimen/DP_3">

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/image"
        android:layout_centerVertical="true"
        android:text="xxx"/>

    <TextView
        android:id="@+id/custom_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"/>

    <TextView
        android:id="@+id/text"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="yyy"/>

</RelativeLayout>

我希望所有的孩子垂直放置里面父RelativeLayout的,然而, layout_centerVertical =真正的的伎俩,但 layout_gravity =center_vertical什么也没做。我认为他们得到了相同的意思,但不是真的,我错过了了解某事?

I want all children place vertically inside parent RelativeLayout, however, layout_centerVertical="true" did the trick, but layout_gravity="center_vertical" did nothing. I thought they got same meaning, but not really, did I miss understand sth?

推荐答案

layout_gravity 的LinearLayout 属性,这是行不通的 RelativeLayout的

layout_gravity is the attribute for LinearLayout, which won't work in RelativeLayout.

如果你改变你的 RelativeLayout的容器的LinearLayout ,该元素使用位于中心 Android的:layout_gravity =center_vertical

If you change your RelativeLayout container to LinearLayout, the elements are positioned in center using android:layout_gravity="center_vertical"

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="xxx" 
        android:padding="5dip"/>

    <TextView
        android:id="@+id/custom_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="dsf" 
        android:padding="5dip"/>

    <TextView
        android:id="@+id/text"
        android:padding="5dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="yyy" />

</LinearLayout>

输出:

相关链接:

安卓layout_gravity

安卓layout_centerVertical