use*_*024 63 android navigation-drawer
http://developer.android.com/training/implementing-navigation/nav-drawer.html
根据这份文件,它没有说明是否可以从右侧实施抽屉.它甚至可能吗?:(
Jes*_*run 67
NavigationDrawer可以配置为从左,右或两者拉出.关键是XML声明中抽屉的外观顺序和layout_gravity属性.这是一个例子:
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false" >
</FrameLayout>
<!-- Left drawer -->
<ListView
android:id="@+id/left_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:choiceMode="singleChoice" />
<!-- Right drawer -->
<ListView
android:id="@+id/right_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="right"
android:choiceMode="singleChoice" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
Lar*_*zie 46
这是抽屉上的文档,您可以将其配置为从左侧或右侧拉出.
使用子视图上的android:layout_gravity属性控制抽屉定位和布局,该属性对应于您希望抽屉出现的视图的哪一侧:左侧或右侧.(或者在支持布局方向的平台版本上开始/结束.)
http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html
ama*_*Bit 24
我的应用程序崩溃了"没有抽屉视图发现重力左"错误.
所以将其添加到onOptionsItemSelected:
if (item != null && item.getItemId() == android.R.id.home) {
if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
mDrawerLayout.closeDrawer(Gravity.RIGHT);
} else {
mDrawerLayout.openDrawer(Gravity.RIGHT);
}
}
Run Code Online (Sandbox Code Playgroud)
添加到/sf/answers/1524719731/解决方案.
如果您正在使用Android Studio创建的导航抽屉项目,那么事情就会发生变化onOptionsItemSelected
.由于他们创建了子类,因此必须使用此代码
if (item != null && id == android.R.id.home) {
if (mNavigationDrawerFragment.isDrawerOpen(Gravity.RIGHT)) {
mNavigationDrawerFragment.closeDrawer(Gravity.RIGHT);
} else {
mNavigationDrawerFragment.openDrawer(Gravity.RIGHT);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
下一个.在课堂上NavigationDrawerFragment
,你必须创建3个方法:
方法1
public boolean isDrawerOpen(int gravity) {
return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(gravity);
}
Run Code Online (Sandbox Code Playgroud)
方法2
public void closeDrawer(int gravity) {
mDrawerLayout.closeDrawer(gravity);
}
Run Code Online (Sandbox Code Playgroud)
方法3
public void openDrawer(int gravity) {
mDrawerLayout.openDrawer(gravity);
}
Run Code Online (Sandbox Code Playgroud)
只有现在,右侧抽屉才会起作用.
归档时间: |
|
查看次数: |
76942 次 |
最近记录: |