我试图在RelativeLayout
内布局视图,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="TextView" android:id="@+id/upperView"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/bottomView"></TextView>
<TextView android:text="TextView" android:id="@+id/bottomView"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</RelativeLayout>
并且android无法识别此ID:
android:layout_below="@id/bottomView"
因为我在调用之后定义了@+id/bottomView"
,但有时排序事项来绘制谁,我可以从代码中解决它,但是如何在XML中修复它
答案 0 :(得分:7)
在定义时的布局中:
@+id/bottomView"
加号(+)表示这是一个必须创建并添加到我们资源的新资源名称(在R.java文件中)
引用Android资源ID时,您不需要加号,但必须添加android包命名空间(参考1)
所以,改变你的xml布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:text="DownTextView"
android:id="@+id/upperView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/bottomView">
</TextView>
<TextView
android:text="UpTextView"
android:id="@id/bottomView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</RelativeLayout>
答案 1 :(得分:1)
我解决了它,只需在布局xml中+
关键字之前添加id
答案 2 :(得分:0)
如何将俯视图放在底部视图下方,逻辑上与我不一致?
你应该这样做。在bottomview
添加android:layout_below="@id/upperview"
因为底部低于某些东西。
答案 3 :(得分:0)
你需要首先创建bottomView,然后使用layout_below,因为android / java按顺序创建东西,你做了什么。希望它有所帮助。