【发布时间】:2013-08-04 11:46:05
【问题描述】:
我正在玩 DrawerLayout,但遇到了问题。基本上有时当我从屏幕边缘滑动时,DrawerLayout 会卡住,直到我将手指从屏幕上抬起(见下面的截图)
我不确定发生了什么,我完全按照 google 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);
}
});
}
编辑:我正在为此添加赏金,因为这是一个非常古老的问题,即使在今天,最新的 Android-X 也存在(样本可用here)。下面是它的外观:
我已向 Google(here 和后来的 here)报告了这件事,但没有帮助。
我已经在这个线程上尝试了所有现有的解决方案,但没有一个有效。如果有人对此有很好的解决方法(同时仍在使用 DrawerLayout 或扩展它,或类似的东西),请提出一个可行的解决方案。
【问题讨论】:
-
我认为这是一个错误。我对姜饼有同样的错误。在 Nexus 7 上测试,我无法重现。
-
您确定这不是功能吗?文档:
If the user touches the very left edge of the screen (within 20 dp from the left), have the drawer peek out as soon as the finger makes contact with the display. This promotes accidental discovery and provides richer feedback. -
这不是一个功能。我试图解释其中的区别:窥视功能通过单击左侧来工作,并提供反馈说有东西可以拉出 -> 导航抽屉。我遇到的未知是一个错误:它可以窥视,但您无法将其拉出。这不是故意的!
-
最新支持库版本21.0.1问题依然存在
-
@androiddeveloper 这个问题即使在 Google Play 应用程序中也存在,我认为我们无法修复它
标签: android navigation-drawer androidx