Android 工程布局图和工程布局图;t、 如何解决?

Android 工程布局图和工程布局图;t、 如何解决?,android,android-layout,Android,Android Layout,我有一个简单的相对布局-一个ImageView(iv1)和一个TextView(tv1)在iv1的左边。不幸的是,我看不到tv1。更重要的是,即使是hierarchyViewer也不能帮我找到它 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

我有一个简单的相对布局-一个ImageView(iv1)和一个TextView(tv1)在iv1的左边。不幸的是,我看不到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>

看起来是这样的:

但是,如果我将android:layout_-toLeftOf=“@+id/iv1”更改为android:layout_-toRightOf=“@+id/iv1”,我的文本视图将位于图像视图的右侧。这看起来像是托利托夫的作品,而托利托夫则不然。 下面是它的外观:


怎么了?如何使布局\u toLeftOf工作?

设置imageview属性
align\u parent\u right=true

更改:

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

致:


您在文本视图的toLeftOf中使用@+id/iv1,而不是@id/iv1。
此外,还应为imageview在视图中指定一个特定位置。尝试将其对齐:layout\u parentTop=true

在我的情况下(不在此布局中),RelativeLayout的
android:layout\u width
中存在问题。当它是
wrap\u content
match\u parent
时,布局变得分散。例如,当我将它设置为300dp时,一切都很好。

据我所知,@+id意味着创建一个新的id,@id意味着使用已经存在的对象。然而,如果我按照您的建议替换布局,我会得到“无法解析资源@id/iv1”。这是因为什么?如果你在试图查看布局(不是代码而是实际视图)时得到它,那就是一个bug。有时Eclipse无法获得布局中所做的更改。我有时会通过在xml代码和布局视图之间切换两次来解决这个问题。。。
<TextView
    android:id="@+id/tv1"
    android:layout_toLeftOf="@id/iv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />