DrawerLayout卡在滑动上

thu*_*nja 34 android navigation-drawer androidx

我正在玩DrawerLayout,我遇到了一个问题.基本上有时当我从屏幕边缘滑动时,DrawerLayout会卡住,直到我将手指从屏幕上抬起(参见下面的屏幕截图)

我不确定是什么,我完全按照谷歌sdk的代码示例.有任何想法吗?

截图错误

这是我在FragmentActivity中唯一拥有的东西:

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final String[] names =
                getResources().getStringArray(R.array.nav_names);
        ArrayAdapter<String> adapter =
                new ArrayAdapter<String>(
                        getActionBar().getThemedContext(),
                        android.R.layout.simple_list_item_1, names);

        final DrawerLayout drawer =
                (DrawerLayout)findViewById(R.id.drawer_layout);
        final ListView navList =
                (ListView) findViewById(R.id.drawer);
        navList.setAdapter(adapter);
        navList.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {

            @Override
            public void onItemClick(AdapterView<?> parent,
                                    View view, final int pos, long id)
            {
                drawer.setDrawerListener(
                        new DrawerLayout.SimpleDrawerListener()
                        {
                            @Override
                            public void onDrawerClosed(View drawerView)
                            {
                                super.onDrawerClosed(drawerView);

                            }
                        });
                drawer.closeDrawer(navList);
            }
        });

    }
Run Code Online (Sandbox Code Playgroud)

编辑:我正在为此添加赏金,因为这是一个非常古老的问题,即使在今天仍然存在最新的Android-X(此处提供样本).以下是它的外观:

在此输入图像描述

我汇报一下谷歌(这里,后来又在这里),但它并没有帮助.

我在这个帖子上尝试了所有现有的解决方案,但都没有.如果有人有一个很好的解决方法(虽然仍然使用DrawerLayout或扩展它,或类似的东西),请提出一个有效的解决方案.

Ako*_* Cz 15

请注意,您可以通过在DrawerLayout中的FrameLayout上将clickable属性设置为true来绕过此20dp peek功能.

机器人:可点击="真"

例如:http: //developer.android.com/training/implementing-navigation/nav-drawer.html

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true" />
    <!-- The navigation drawer -->
    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/darker_gray"
        android:dividerHeight="1dp" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,这对我不起作用.我仍然可以重现从左侧滑动卡住的问题. (4认同)
  • 对于使用Android 9(P)的Pixel 2不起作用 (2认同)