【发布时间】:2014-12-21 03:41:56
【问题描述】:
根据the Material Design specs移动设备上导航抽屉的宽度必须是
侧边导航宽度 = 屏幕宽度 - 应用栏高度
我们如何在 android 上实现这个?
我有两个部分解决方案。首先是骇人听闻的方式:在包含活动中,我输入了以下代码:
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB_MR1) { 最终显示 display = getWindowManager().getDefaultDisplay(); 最终点大小 = new Point(); display.getSize(大小); 最终 ViewGroup.LayoutParams 参数 = mDrawerFragment.getView().getLayoutParams(); params.width = size.x - getResources().getDimensionPixelSize( R.dimen.abc_action_bar_default_height_material ); mFragmentUserList.getView().setLayoutParams(params); }但是,这会导致第二个布局循环并且在姜饼中不起作用:它不是最佳的。
第二种解决方案涉及在片段和抽屉布局之间添加一个空间。但是,它会取代阴影和用户可以按下以返回主应用程序的位置。当按下“汉堡包”图标时,它也会崩溃。也不是最优的。
是否有更好的解决方案,最好是涉及样式和 xml 的解决方案?
【问题讨论】:
标签: android android-appcompat material-design