我已经实现了导航抽屉,它当前出现在屏幕的左侧 - 但是我希望它出现在屏幕的右侧(屏幕右上角有它的图标)同样 - 目前它在左上角)。我找到了以下SO文章,解释了如何执行此操作:
http://stackoverflow.com/questions/18547277/how-to-set-navigation-drawer-to-be-opened-from-right-to-left/19358114#19358114
然而,当我尝试实现代码时,导航抽屉仍然出现在左侧。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ss_home);
...
mDrawerList = (ListView) findViewById(R.id.drawer_list);
mDrawer = ( LinearLayout) findViewById(R.id.drawer);
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
mAdapter = new SimpleAdapter(this, mList, R.layout.drawer_layout, from, to);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.icon_list_top_right , R.string.drawer_open){
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item != null && item.getItemId() == android.R.id.home) {
if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
mDrawerLayout.closeDrawer(Gravity.RIGHT);
} else {
mDrawerLayout.openDrawer(Gravity.RIGHT);
}
}
return false;
}
如果需要任何其他信息,我将非常乐意提供它(我只是难以理解为什么NavBar没有出现在屏幕的右侧)
答案 0 :(得分:0)
android:layout_gravity="start"
id =“抽屉”上的LinearLayout
应设为android:layout_gravity="end"
。
旁注:这个XML结构构造不好,为什么id =“drawer”和id =“left_drawer”ViewGroups
的兄弟姐妹 - 而不是嵌套?为什么FrameLayout
id =“content_frame”为空?
答案 1 :(得分:0)
你的布局中实际上有左右导航抽屉(id:抽屉和id:left_drawer)。我刚刚对它进行了测试,并且左右滑动都能正常加载。
如果要在右侧显示汉堡图标,请隐藏现有图标并将另一个作为图像视图添加到工具栏中。之后,您可以绑定它并以编程方式打开导航抽屉。