问题标签 [navigation-drawer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
19172 浏览

android - 带有 AbstractMainActivity 的 Android 导航抽屉(调用活动)

我想要一个创建导航抽屉的 AbstractMainActivity。在那里我还应该处理对菜单项的点击,然后调用新的活动。在这些活动中,我想再次使用相同的导航抽屉。

我将使用 AbstractMainActivity 在子类中进行扩展,并以与每个子类不同的方式调用 getLayoutResourceID(如此处所建议:android 如何创建自己的 Activity 并扩展它?)。

问题是,现在在我想要构建导航抽屉的 AbstractMainActivity 中,我无法访问导航抽屉布局 (xml) 元素,因为我当然希望子类有不同的基本布局。

我需要在所有子类布局文件中“包含布局”吗?但这不起作用,如果我想在导航抽屉中使用活动而不是片段,我做错了什么?

这是产品列表子类 (activity_product_list.xml) 的布局:

这是导航抽屉(activity_main.xml)的布局:

但是不起作用,但是如果我没有它,当我的子类调用抽象类的 onCreate 时,我会得到空指针异常,我想在其中构建导航抽屉,它找不到要设置的布局元素列表和布局(R.id.left_drawer 或 R.id.drawer_layout)!

0 投票
1 回答
1765 浏览

android - 使用 viewpager 和导航抽屉从左向右滑动

我有一个viewpager 和一个导航抽屉。两者都在水平滑动时执行操作,但我如何控制哪个负责滑动操作?

我的浏览器:

通过从右向左滑动,我可以浏览图片。工作正常。然后我添加了一个导航抽屉:

打开和关闭抽屉工作正常,一切似乎都在工作。但是,当我触摸抽屉并向左滑动时,我希望抽屉自行关闭,而不是让 viewpager 翻转到上一张图片。如何控制谁负责 onTouch 事件?

谢谢你的帮助。

0 投票
2 回答
681 浏览

android - NavigationDrawer 提示动画(如 Google Currents)

我正在寻找一种向用户提示存在导航抽屉的方法。

我喜欢 Google Currents 提示有下一页的方式,它只是在下一页中滑动几个像素然后将其删除。

完成这样一个动画的最佳方法是什么?

0 投票
2 回答
5130 浏览

android - 导航抽屉与 ActionBar 导航选项卡内容重叠

截屏
在此处输入图像描述

如上图所示,当导航抽屉滑动打开时,选项卡中的内容会重叠在上面

Code
Fragment2.java -- 选项卡中显示的片段


fragment2.xml -- 由上述 Fragment 膨胀的 XML


MainActivity.java -- 包含 ActionBar 和 Navigation Drawer(此代码来自Google 的 ActionBar 指南


activity_main.xml -- 包含 DrawerLayout 的 XML


这是我的代码有问题吗,我错过或忽略了什么?任何反馈都会有很大帮助

0 投票
8 回答
36826 浏览

android - ClassCastException android.widget.FrameLayout$LayoutParams 到 android.support.v4.widget.DrawerLayout$LayoutParams

我正在为 Android 开发导航抽屉。根据我的要求,我是在导航抽屉中显示项目的网格视图和列表视图。我在布局 xml 文件中创建了一个线性布局,并将两个小部件(网格视图和列表视图)放置在线性布局中。

当我运行该文件时,出现以下错误:

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.navigationdrawer3/com.example.navigationdrawer3.MainActivity}:java.lang.ClassCastException:android.widget.FrameLayout$LayoutParams 无法转换为 android.support.v4。小部件.DrawerLayout$LayoutParams

下面是我的 java、logcat 和 NavigationDrawer 布局文件:

MainActivity.java

activity_main.xml

日志猫

第 86 行的代码行:

第 265 行的代码行:

我试图以多种方式纠正此运行时错误,但未能纠正。任何人都可以为我的问题提出一个答案。

0 投票
0 回答
3035 浏览

android - Android 导航抽屉自定义列表视图

我正在尝试来自谷歌的新导航抽屉 UI。
我阅读了谷歌的示例应用程序,但我想将图标添加到列表视图。

列表中的每一项 --> 图标 + 标题

有什么建议吗?

0 投票
1 回答
1493 浏览

android - 使用带有导航抽屉的 ListFragment

我正在尝试将导航抽屉与我的 RSS 阅读器应用程序一起使用。以前我有多个带有 ListFragments 的选项卡来显示解析的提要。我目前只是在使用 Google 的示例(在此处找到:http: //developer.android.com/training/implementing-navigation/nav-drawer.html)但是在尝试使用 ListFragment 时遇到了问题。

在此方法中,它告诉我不能将 replace 方法与 ListFragments 一起使用。那么我应该使用什么来完成这项工作呢?

0 投票
1 回答
464 浏览

android - ListView 不显示任何项目。(从 SlidingMenu 到 NavigationDrawer)

我有一个使用 JFeinstein 的 SlidingMenu 库的应用程序。我正在为导航 ListView 使用自定义适配器。我没有任何问题。

由于新的 SupportLibrary 版本引入了 ActionBarCompat 和 NavigationDrawer,我想摆脱 ActionBarSherlock 和 SlidingMenu,因为我认为依赖“官方”库是一种更简洁的解决方案。今天我想用 NavigationDrawer 交换 SlidingMenu 库。我保持适配器不变,更改了 main_activity.xml,就像在 d.android.com 上的官方教程中解释的那样。

但是 ListView 中没有呈现任何项目。滑动效果很好,但我看不到任何物品。我没有对适配器进行任何更改,因为它在 SlidingMenu 库上运行良好。Adapter#getCount() 返回 10 - 所以它肯定不是空的。我还调用了 Adapter#notifyDataSetChanged() 以确保所有项目都将被渲染,但永远不会调用 Adapter#getView(...)。

如果我将另一个 ListView 放到 MainActivity 的布局中(放入代表我的内容的 RelativeLayout),这个 ListView 也不会显示任何项目。我复制了一些与 SimpleAdapter 一起使用的基本适配器示例,但即使使用这个,也没有 ListView 显示任何项目!

我的活动中的代码:

0 投票
2 回答
355 浏览

android - 导航抽屉,ResourceNotFoundException

我会自定义导航抽屉。我使用了一个在另一个线程中的 stackoverflow 上找到的示例。该代码是复制和粘贴的,但是在 logcat 中运行应用程序时会出现异常:“ResourceNotFoundException”。下面贴一段logcat

我的适配器的代码是

模型是

和xml

这是在适配器上添加每个项目的代码。mPlanetTitles 是一个数组字符串。

0 投票
5 回答
5065 浏览

android - DrawerLayout 卡在滑动上

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

我不确定发生了什么,我完全遵循了 google sdk 中的代码示例。有任何想法吗?

截图错误

这是我的 FragmentActivity 中唯一的东西:


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

在此处输入图像描述

我已经向谷歌报告了这件事(在这里,后来又在这里),但它没有帮助。

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