0
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="20dp">

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/content">

<ImageView
android:id="@+id/idcontentline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:src="@drawable/line"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_centerHorizontal="true"/>

<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/idcontentline"
android:layout_centerHorizontal="true"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical" >

<TextView
android:id="@+id/idcontenttext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="this is a sample" />

</ScrollView>

</RelativeLayout>

</RelativeLayout>

当我使用 android:layout_below="@+id/idcontentline" 时,一切都是正确的,并且 textview 低于 imageview。但是当使用 @id 而不是 @+id 时,它不起作用。

怎么了?

4

2 回答 2

3

字符串开头的符号 (@) 表示 XML 解析器应该解析和扩展 ID 字符串的其余部分,并将其标识为 ID 资源。加号 (+) 表示这是一个新资源名称,必须创建并添加到我们的资源中(在 R.java 文件中)。Android 框架提供了许多其他 ID 资源。引用 Android 资源 ID 时,不需要加号,但必须添加 android 包命名空间。

于 2012-10-29T07:04:51.057 回答
0

清理项目几次,就可以了。

于 2012-10-29T12:01:06.787 回答