这个布局有三个控件:两个工具栏和一个框架布局。我想要两个工具栏一个在布局底部,另一个在布局顶部。框架布局就位于它们之间。我有这样的代码,但是它总是错误消息:“找不到与给定名称匹配的资源(在'layout_above中,值为'@ id / bottomToolBar')”。我很确定我已经设置了底部toolBar的ID。我好绝望。提前谢谢了。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/mainToolBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:titleTextColor="#FFFFFF"
app:title="Musics">
</android.support.v7.widget.Toolbar>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/mainToolBar"
android:layout_above="@id/bottomToolBar"
android:id="@+id/fragmentsContainer"
/>
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:id="@+id/bottomToolBar"
android:minHeight="?attr/actionBarSize"
android:background="#EFEFEF">
</android.support.v7.widget.Toolbar>
</RelativeLayout>
是。FrameLayout
解析您的解析器后,它会尝试解析所有ID。因此它也尝试查找bottomToolBar
。但是,此时bottomToolBar
R.java / Resource.cs文件中不存在该文件,因此找不到该文件。此ID稍后Toolbar
在此行的第二个中创建:
android:id="@+id/bottomToolBar"
该+
所表示的那样,如果没有ID存在此引用一个新的ID必须创建。然后将其添加到Xamarin的R.java文件或Resource.cs文件中。
因此,解决将是:添加+
到您的参考FrameLayout
来bottomToolBar
,这样对于一个id bottomToolBar
,当您尝试引用创建它:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/mainToolBar"
android:layout_above="@+id/bottomToolBar"
android:id="@+id/fragmentsContainer"
/>
来源:https : //developer.android.com/guide/topics/ui/declaring-layout#id