我正在尝试创建一个带有片段的应用程序作为菜单栏。
我的主要问题是,当我打开片段时,我可以看到它背后的按钮,甚至按下它们。
我当然不希望如此。我尝试将属性android:clickable =“true”添加到布局中,但它没有帮助。
这是我的代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="ibuy.ibuy.AddUpdateItem">
.
.
.
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/search_image"
android:id="@+id/btnBrows"
android:onClick="openItemTable"
android:layout_alignTop="@+id/imageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
.
.
.
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="ibuy.ibuy.AddUpdateItem"
android:clickable="true">
<fragment
android:id="@+id/navigation_drawer"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
android:name="Menus.smallMenu"
tools:layout="@layout/fragment_navigation_drawer"
android:alpha="255" />
</android.support.v4.widget.DrawerLayout>
</RelativeLayout>
这是其他文件上片段的listView的代码:
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#cccc"
tools:context="Menus.smallMenu"
android:clickable="true"/>
我做错了什么? 提前谢谢!
答案 0 :(得分:0)
我不知道你的意思是“我能看到它背后的按钮”。我假设你的意思是 DrawerLayout 用户界面。
1)
在这种情况下,您可以使用android:layout_below="@id/btnBrows"
之类的属性。据我所知,所有的UI元素都应该被定位,否则它们可能会一个在另一个上面显示,就像你看到的那样。
2)另外一个问题是android:layout_width
的{{1}}和layout_height
都是match_parent,它填满了整个屏幕。它与按钮竞争屏幕空间。如果按钮位于DrawerLayout
内,那么这不是问题,但这可能是您的故意设计。
答案 1 :(得分:0)
如果您使用的是Android Studio,请创建一个新的导航抽屉活动。看一下主要的XML布局。
DrawerLayout
应该是您的根视图。在其中,您有RelativeLayout
按钮和 Fragment
这是您的导航抽屉。
这样,两者都是分开的,导航抽屉在打开时正确重叠。