我的Android应用中有导航抽屉,其可见性由操作栏中的应用图标控制。但是,我需要能够不仅通过点击应用程序图标来关闭抽屉,而且还需要用户点击屏幕的空(非占用)部分。这是我的主要布局:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:background="@color/white"
style="@style/ListViewSeparator"/>
我不明白哪个布局是我需要设置一个监听器的布局,因为当我打开导航抽屉时它包含我的'240dp'列表视图,但屏幕的其余部分变得像'透明黑色',我我正在寻找那个“透明的黑色”布局,这是屏幕的其余部分
答案 0 :(得分:1)
找到它:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
在
之前设置为LOCK_MODE_LOCKED_OPENED
答案 1 :(得分:0)
取决于您的兴趣。基于Google示例,我使用此代码实现了相同的功能:
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
...
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position, long arg3) {
selectItem(position);
mDrawerList.setItemChecked(position, true);
mDrawerLayout.closeDrawer(mDrawerList);
}