我正在使用axml设计器来构建UI。我在relativeLayout的4个部分上分开了屏幕。我想在另一个2之间定位,当添加layout_above =“ @ id / myBottomView”时,我收到编译错误(见下文)。但是设计师画的一切正确。 我该如何解决?
<?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="match_parent">
<View
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_centerInParent="true"
android:background="#1212ed"
android:id="@+id/view1">
</View>
<RelativeLayout
android:id="@+id/topView1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/historyButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip"
android:text="History" />
<TextView
android:id="@+id/label"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="eFinder"/>
<Button
android:id="@+id/libraryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dip"
android:text="Library" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/addScanView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:layout_below="@id/view1"
android:layout_above="@id/myBottomView">
<TextView
android:id="@+id/scanCounter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="10/5 scans"/>
<Button
android:id="@+id/addScansButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Scans"
android:layout_below="@id/scanCounter"
android:layout_centerHorizontal="true"
android:layout_marginTop="9.0dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/addScansButton"
android:gravity="bottom"
android:text="Tap to find E"
android:layout_alignParentBottom="true" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/myBottomView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10.0dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip"
android:text="share" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dip"
android:text="options" />
</RelativeLayout>
</RelativeLayout>
这向我展示了设计师,这是正确的,但是有构建错误:
我收到错误://Resources/layout/Main.axml(0,0):错误APT0000:找不到与给定名称匹配的资源(在'layout_above'处,值为'@ id / myBottomView')。 (APT0000)
答案 0 :(得分:0)
将您的RelativeLayout(myBottomView
)元素移到引用该元素的元素(addScanView
上上方,从上到下分析布局。
<?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="match_parent">
<RelativeLayout
android:id="@+id/topView1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</RelativeLayout>
<RelativeLayout
android:id="@+id/myBottomView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10.0dp">
</RelativeLayout>
<RelativeLayout
android:id="@+id/addScanView"
android:layout_below="@id/view1"
android:layout_above="@id/myBottomView">
</RelativeLayout>
</RelativeLayout>