我已根据需要实施导航,但工作正常。当我尝试双击任何菜单项时,第一次单击执行所需操作,但第二次单击被理解为打开导航抽屉。所以我面临的问题是,在菜单项上双击(这不是正常的用户行为,这是我们的测试人员报告的错误)后,导航抽屉在新屏幕上保持打开状态。
如果我点击一次,它就可以了。
添加了代码:
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
Logger.d(TAG, "onNavigationItemSelected");
mDrawerLayout.closeDrawer(GravityCompat.START);
switch (menuItem.getItemId()) {
case R.id.nav_item_profile:
replaceFragment(new ProfileFragment(), true);
break;
}
return false;
}
menu.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/nav_item_home"
android:icon="@drawable/svg_ic_home_black"
android:title="Home" />
<item
android:id="@+id/nav_item_profile"
android:icon="@drawable/svg_ic_face_black_24_px"
android:title="Profile" />
</menu>
答案 0 :(得分:0)
点击任何项目时,我们总是需要关闭抽屉。这不会让用户双击项目。
<ion-item *ngFor="let user of users">
<ion-row>
<ion-col col-4>
{{user.fields.date}}
</ion-col>
<ion-col col-4>
{{user.fields.duration}}
</ion-col>
答案 1 :(得分:0)
您所面对的是理想的行为,因为当您第一次点击抽屉物品时,它会关闭抽屉,而第二次点击会使其再次打开。
根据您的需要,如果您不想在第二次点击时打开抽屉,那么您需要为此添加条件。
如果用户立即点击,则不要打开它,让它保持关闭状态
答案 2 :(得分:0)
没有这样的方法可以让NavigationDrawer双击,否则你可以在代码下面使用
private boolean doublePressed=false; //Global variable
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
Logger.d(TAG, "onNavigationItemSelected");
mDrawerLayout.closeDrawer(GravityCompat.START);
switch (menuItem.getItemId()) {
case R.id.nav_item_profile:
if (doublePressed) {
replaceFragment(new ProfileFragment(), true);
return false;
}
doublePressed = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doublePressed = false;
}
}, 2000);//You can modify this time, here 2 sec.
break;
}
return false;
}