什么是之间layout_gravity =&QUOT的差值; center_vertical"和layout_centerVertical = QUOT;真" [英] What's the difference between layout_gravity="center_vertical" and layout_centerVertical="true"

查看:119
本文介绍了什么是之间layout_gravity =&QUOT的差值; center_vertical"和layout_centerVertical = QUOT;真"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的布局

<?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>

输出:

相关链接:

<一个href="http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#attr_android:layout_gravity"相对=nofollow>安卓layout_gravity

<一个href="http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_centerVertical"相对=nofollow>安卓layout_centerVertical

这篇关于什么是之间layout_gravity =&QUOT的差值; center_vertical&QUOT;和layout_centerVertical = QUOT;真&QUOT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆