android - DrawerLayout 卡在滑动上

标签 android navigation-drawer androidx

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

我不确定发生了什么,我完全按照 google sdk 中的代码示例进行操作。有什么想法吗?

Screenshot bug

这是我的 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);
            }
        });

    }

编辑:我正在为此添加赏金,因为这是一个非常古老的问题,即使在今天,最新的 Android-X 也存在(示例可用 here)。下面是它的外观:

enter image description here

我已向 Google(here 和后来的 here )报告了这件事,但没有帮助。

我已经在这个线程上尝试了所有现有的解决方案,但没有一个有效。如果有人对此有很好的解决方法(同时仍在使用 DrawerLayout 或扩展它,或类似的东西),请提出一个可行的解决方案。

最佳答案

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

android:clickable="true"

例如: 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>

关于android - DrawerLayout 卡在滑动上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029874/

相关文章:

java - 忽略 AndroidX 并希望在 Android Studio 3.2 中单独使用 android 支持库

java - 从TextureView中提取要保存的视频文件

Android simplexml.jar混淆问题

javascript - Logged==true 的条件

适用于较低 API 的 Android Material Design 抽屉导航

android - 给定的 Artifact 包含一个字符串文字,其包引用为 'android.support.v4.content',无法安全地重写。对于 androidx

android - "Multipart body must have at least one part"

android - 为什么 Android 抽屉导航卡住了? (在官方演示应用程序中重新创建)

android - 将抽屉导航用于多个 Activity 会重新创建抽屉。我如何让它保持普遍?

android - 协程不断崩溃而不显示错误