繁体   English   中英

RelativeLayout中其他两个视图之间的中心视图

[英]Center view between other two views in RelativeLayout

我尝试在相对布局中将一个textview置于另外两个之间。 一个文本视图与父顶部对齐,一个与parrent底部对齐,第三个(@id / info)放在其间。 我有ListView中使用的列表项的以下视图层次结构:

<?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="wrap_content"
    android:listSelector="@drawable/list_selector"
    android:orientation="vertical"
    android:paddingBottom="@dimen/padding_default"
    android:paddingLeft="@dimen/padding_large"
    android:paddingRight="@dimen/padding_large"
    android:paddingTop="@dimen/padding_default" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="65dp"
        android:layout_height="65dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/logo_imageonly" />

    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@id/image"
        android:ellipsize="end"
        android:paddingLeft="@dimen/padding_default"
        android:singleLine="true"
        android:textColor="@color/best_prices_item_text_default"
        android:textSize="@dimen/text_size_medium"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/priceQty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@id/image"
        android:ellipsize="end"
        android:paddingLeft="@dimen/padding_default"
        android:singleLine="true"
        android:textColor="@color/best_prices_item_price"
        android:textSize="@dimen/text_size_small" />

    <TextView
        android:id="@+id/gorceryName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@id/priceQty"
        android:gravity="right"
        android:singleLine="true"
        android:textColor="@color/best_prices_item_grocery_name"
        android:textSize="@dimen/text_size_xsmall"
        android:textStyle="italic" />

    <TextView
        android:id="@+id/info"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/priceQty"
        android:layout_below="@id/name"
        android:layout_toRightOf="@id/image"
        android:ellipsize="end"
        android:gravity="center_vertical"
        android:paddingLeft="@dimen/padding_default"
        android:singleLine="true"
        android:textColor="@color/best_prices_item_text_default"
        android:textSize="@dimen/text_size_small" />

</RelativeLayout>

在Eclipse视图设计器效果正如我所料 - textview正确居中:

在此输入图像描述

但是当我在设备/模拟器上运行app时,中心的textview丢失了。 有没有人碰到这个问题并且可以提供帮助?

尝试使用android:layout_centerInParent="true"android:layout_centerVertical="true"android:layout_centerHorizontal="true" 希望有所帮助..有时在其他LinearLayouts中使用具有不同方向的一对LinearLayouts更好

这对我有用:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/llFullContent"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="top"
        android:id="@+id/tvTop"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textAlignment="center"
        android:layout_alignParentTop="true"/>

    <TextView
        android:text="middle"
        android:id="@+id/tvMiddle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/tvBottom"
        android:layout_below="@+id/tvTop"
        android:gravity="center"
        android:textAlignment="center"/>

    <TextView
        android:text="bottom"
        android:id="@+id/tvBottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textAlignment="center"
        android:layout_alignParentBottom="true"/>

</RelativeLayout>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM