微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么不应该使用操作系统提供的菜单图标?

如何解决为什么不应该使用操作系统提供的菜单图标?

| 我想使用Android操作系统提供的一些菜单图标。 XML将如下所示:
<item android:id=\"@+id/menu_refresh\"
   android:icon=\"@android:drawable/ic_menu_refresh\"
   android:title=\"@string/menu_refresh\" />
但是文档说这是不建议的。   警告:因为这些资源可以   在平台版本之间进行更改,您   不应使用引用这些图标   Android平台资源ID   (即下面的菜单图标   android.R.drawable)。 我认为使用认图标的全部目的是因为设计确实会因操作系统而异。通过使用认图标,您的应用将在外观和感觉上适合其所运行的操作系统。那么使用认图标有什么不好呢?似乎不使用认图标会损害应用程序的外观。     

解决方法

        问题是您要添加Google不保证其为静态的依赖项。 这些图标的名称可能会更改,大小可能会更改并与您的应用程序不兼容。 如果您希望图标与当前的Google图标相同,则可以使用此处提供的图标     ,        很有可能,某些android配置不会读取这些资源:HTC Sense,Samsung TouchWiz。 您可以做的是在sdkFolder / platforms / platform-#/ data / res /中找到所需的可绘制对象并将其放入项目中。然后像引用任何常规资源(@ drawable / icon)一样引用它们。     ,        IMO,实际上,您可以使用Android OS提供的菜单图标,只要您对所有菜单项仅使用OS提供的图标即可。如果需要另一个图标(例如刷新),则还需要复制其他图标的图像。否则,如果混合使用自己的图标和OS图标,则某些设备上的视觉样式可能会大不相同。     ,        除了您的操作与OS的相关操作略有不同之外,我真的没有别的原因。对于夸大的实例,如果您有“垃圾桶”按钮,则可以创建新的小部件。但是我认为,如果您保持与操作系统相似的操作,那很好。实际上,我同意您的看法,对于该应用程序来说,它甚至看起来更好。     ,        问题在于每个运营商或工厂对操作系统进行的“自定义”,因此您不能假定它们存在或与用途匹配。无论如何,如果您喜欢它们,则可以将它们复制到您的可绘制对象中,因为无论定制如何,它们看起来都是标准的。     ,        而且它的版本可能因Android版本而异,因此可能会有所不同。因此最好包含自己的图标集     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。