use*_*990 175 navigation tabs android gesture drawer
我一直在关注谷歌的导航抽屉指南,我想将它添加到带有标签和手势的活动中.
我想禁用打开导航抽屉的手势,有没有人知道如何做到这一点?
小智 415
你应该使用:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Run Code Online (Sandbox Code Playgroud)
它与我合作,打开抽屉的滑动被禁用.
如果仍然无效,请查看此处提供的答案.
sal*_*hki 92
锁定你可以这样做:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Run Code Online (Sandbox Code Playgroud)
并解锁:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
Run Code Online (Sandbox Code Playgroud)
小智 14
使用setDrawerLockMode()时也添加重力值;
做这个 :
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END);
Run Code Online (Sandbox Code Playgroud)
这应该像魅力一样
禁用滑动的答案是正确的。我认为 LOCK_MODE_LOCKED_CLOSED 在 Compat 24.x 中工作,但在较新的兼容库中功能已经改变,LOCK_MODE_LOCKED_CLOSED 现在完全阻止导航菜单显示,即使通过使用汉堡菜单。
以下课程对我有用(Kotlin):
class MyDrawerLayout(ctx: Context) : DrawerLayout(ctx) {
var isSwipeOpenEnabled: Boolean = true
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
if (!isSwipeOpenEnabled && !isDrawerVisible(Gravity.START)) {
return false
}
return super.onInterceptTouchEvent(ev)
}
@SuppressLint("ClickableViewAccessibility")
override fun onTouchEvent(ev: MotionEvent): Boolean {
if (!isSwipeOpenEnabled && !isDrawerVisible(Gravity.START)) {
return false
}
return super.onTouchEvent(ev)
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
这对我有用
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, {Your drawer view});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70824 次 |
| 最近记录: |