layout_toRightOf的作品和layout_toLeftOf没有,怎么解决?

时间:2012-02-09 09:08:04

标签: android android-layout

我有简单的相对布局 - 一个ImageView(iv1)和一个iv1左边的TextView(tv1)。不幸的是,我看不到tv1。更有甚者,甚至hierarchyViewer都无法帮助我找到它。

<?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:gravity="right"
android:background="@android:color/white"
>

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

<TextView
    android:id="@+id/tv1"
    android:layout_toLeftOf="@+id/iv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

</RelativeLayout>

看起来像是:

enter image description here

但是,如果我将android:layout_toLeftOf =“@ + id / iv1”改为android:layout_toRightOf =“@ + id / iv1”,我的文本视图将定位在图像视图的右侧。看起来像是右边的作品,而左边的作品却没有。 在这里看起来如何:

enter image description here

怎么回事?如何使layout_toLeftOf工作?

3 个答案:

答案 0 :(得分:5)

变化:

<TextView
    android:id="@+id/tv1"
    android:layout_toLeftOf="@+id/+iv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

为:

<TextView
    android:id="@+id/tv1"
    android:layout_toLeftOf="@id/iv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

您在TextView的toLeftOf中使用@ + id / iv1而不是@ id / iv1。 您还应该将imageview提供给视图中的特定位置。尝试对齐它:layout_parentTop = true

答案 1 :(得分:2)

设置imageview属性align_parent_right= true;

答案 2 :(得分:0)

在我的情况下(不在此布局中)问题出现在RelativeLayout的android:layout_width中。如果是wrap_contentmatch_parent,则布局会分散。当我将其设置为例如300dp时,一切都很好。