如何使TextView相对于ImageView在中心垂直浮动?

时间:2014-03-01 07:30:08

标签: android android-layout

我正在尝试让TextView包含文本“这是一些长文本”浮动在相对于左边图像的中心,但我的目前看起来像:

enter image description here

这个TextView最多可以使用2行文本,所以如果它有2行,我希望它能恢复到标准对齐方式,如:

enter image description here

现在是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
<ImageView
        android:id="@+id/user_left"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:scaleType="centerCrop"
        android:src="@drawable/the_pirates"
        android:layout_margin="5dp"
        />

<TextView android:id="@+id/relationship_caption"
          android:layout_width="100dp"
          android:layout_height="wrap_content"
          android:textSize="8dp"
          android:text="This is some long text"
          android:layout_toRightOf="@id/user_left"
          android:layout_margin="5dp"/>

</RelativeLayout>    

我已尝试将gravity设为center,但这似乎没有帮助。\

谢谢!

2 个答案:

答案 0 :(得分:2)

使用这个......

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<ImageView
    android:id="@+id/user_left"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_margin="5dp"
    android:scaleType="centerCrop"
    android:src="@drawable/the_pirates" />

<TextView
    android:id="@+id/relationship_caption"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/user_left"
    android:layout_toRightOf="@+id/user_left"
    android:maxLines="2"
    android:text="This is some long text"
    android:textSize="15dp" />

</RelativeLayout>

答案 1 :(得分:0)

这里我做了你想做的事情

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="20dp" >//here you can give your size

        <ImageView
            android:id="@+id/user_left"
            android:layout_width="120dp"//here you can put your size as you want
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/relationship_caption"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toRightOf="@+id/user_left"
            android:maxLines="2"
            android:text="This is some long text"
            android:textSize="15sp" />
    </RelativeLayout>

</RelativeLayout>