无法在屏幕右侧实现导航抽屉-Android/Java
我已经实现了导航抽屉,它当前显示在屏幕的左侧-但是我希望它显示在屏幕的右侧(它的图标也在屏幕的右上角-当前它在左上角)。我发现下面的文章解释了如何做到这一点:无法在屏幕右侧实现导航抽屉-Android/Java,java,android,xml,navigation-drawer,Java,Android,Xml,Navigation Drawer,我已经实现了导航抽屉,它当前显示在屏幕的左侧-但是我希望它显示在屏幕的右侧(它的图标也在屏幕的右上角-当前它在左上角)。我发现下面的文章解释了如何做到这一点: http://stackoverflow.com/questions/18547277/how-to-set-navigation-drawer-to-be-opened-from-right-to-left/19358114#19358114 但是,当我尝试实现代码时,导航抽屉仍然显示在左侧 来源(代码片段): XML布局文件/源:
http://stackoverflow.com/questions/18547277/how-to-set-navigation-drawer-to-be-opened-from-right-to-left/19358114#19358114
但是,当我尝试实现代码时,导航抽屉仍然显示在左侧
来源(代码片段):
XML布局文件/源:
如果需要任何其他信息,我将非常乐意提供(我只是不明白为什么导航栏没有出现在屏幕的右侧)在
LinearLayout
id=“drawer”上的android:layout\u gravity=“start”
应该设置为android:layout\u gravity=“end”
旁注:这个XML结构构造得很糟糕,为什么id=“drawer”和id=“left_drawer”
视图组的同级视图不嵌套?为什么FrameLayout
id=“content\u frame”为空?线性布局上的android:layout\u gravity=“start”
应设置为android:layout\u gravity=“end”
旁注:这个XML结构构造得很糟糕,为什么id=“drawer”和id=“left_drawer”视图组的同级视图不嵌套?为什么FrameLayout
id=“content\u frame”是空的?您的布局中实际上有左右导航抽屉(id:drawer和id:left\u drawer)。我刚刚测试了它,它们在左击和右击时都可以正常加载
若你们想在右边有一个汉堡图标,那个么隐藏现有图标,并将另一个图标作为图像视图添加到你们的工具栏中。之后,您可以绑定并单击它,以编程方式打开导航抽屉。您的布局中实际上有左右导航抽屉(id:drawer和id:left\u drawer)。我刚刚测试了它,它们在左击和右击时都可以正常加载
若你们想在右边有一个汉堡图标,那个么隐藏现有图标,并将另一个图标作为图像视图添加到你们的工具栏中。之后,您可以通过编程绑定并单击它打开导航抽屉。添加布局代码。它有点长(我不想阻塞文章,但您可以在此处找到):添加布局代码。它有点长(我不想阻塞文章,但您可以在此处找到):
@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;
}