2013-10-07 32 views
0

我有一个应用程序,它具有网格视图。对于在网格视图中的每个项目我想提供一个上下文菜单,就像您在Play商店中看到:Android上的默认“显示菜单”图标

http://www.strappysolutions.com/googleplay.png

我想使用内置的Android的菜单图标,但我不能在android.R.drawable中的任何地方都可以找到它,就像人们所期望的那样。因此,我可以在哪里找到该图标,以便在网格视图项目中将其设置为可绘制图标。

根据Dmags'答案this question谷歌建议,

你应该使用Android平台的资源ID(即菜单图标> android.R.drawable下)没有引用这些图标。

(虽然挂不再是网页包含此警告)

我很不解,为什么这个意见,将给予?我希望设计与它所运行的操作系统一致。如果Android 5决定显示一个柠檬图像来显示菜单,我希望我的应用程序也使用柠檬的相同图像来显示子菜单。

因此,任何人都可以给我一个很好的理由,为什么我应该创建自己的图形而不是使用默认的Android图形,或者给我可以找到菜单图形的位置?

回答

0

有一个在你的Android的SDK文件夹: C:\ Program Files文件\机器人\ SDK \平台\ Android的18 \ DATA \水库\绘制,华电国际\ ic_menu_moreoverflow_normal_holo_light.png

我认为这可能成为你正在寻找的人。

从@android中直接使用drawable不是一个好习惯:...因为androdi是一个开源平台,每个客户(比如三星或者氰基mod团队)都可以在不绘制drawable的情况下构建自己的版本你正在使用。所以你可以得到一个空指针例外。更好的方法是将android sdk中的drawable直接复制到您的项目中。

+0

尽管如果菜单图标未包含在构建中,它会不会破坏整个操作系统? – LairdPleng

+0

如果我想直接使用这个drawable,我该怎么去做呢? contextget.Resources()。getDrawable(android.R.drawable.xxxx)不包含ic_menu_moreovrflow。 – LairdPleng

+0

请复制它,一些drawables是私人的!你能标记我的答案是正确的,并给予upvote。 –