Android:无法使用 android.R.drawable 作为 textview 的背景图片

发布于 2024-11-26 18:25:10 字数 630 浏览 1 评论 0原文

我正在尝试使用 android.R.drawable stat_sys_download 作为文本视图的背景图像,但它没有显示:

textview.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.stat_sys_download));

如果我使用不同的 android.R.drawable 如 ic_menu_save 它工作正常:

textview.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.ic_menu_save));  

但是我可以使用 stat_sys_download 作为菜单选项上的图标,这样我就知道它存在:

menu.add(0, OPTION_MENU_SORTBY, 0, Str.TEXT_SORTBY).setIcon(android.R.drawable.stat_sys_download); 

那么为什么我可以使用 stat_sys_download 作为图标而不是背景?我应该将其复制到我的资源文件夹中并以这种方式使用吗?

I'm trying to use the android.R.drawable stat_sys_download as the background image for a text view but it's not showing up:

textview.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.stat_sys_download));

If I use a different android.R.drawable like ic_menu_save it works fine:

textview.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.ic_menu_save));  

I can however use stat_sys_download as an icon on a menu option so I know it exists:

menu.add(0, OPTION_MENU_SORTBY, 0, Str.TEXT_SORTBY).setIcon(android.R.drawable.stat_sys_download); 

So why is it that I can use stat_sys_download as an icon but not as a background? Should I copy it into my resources folder and use it that way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

弱骨蛰伏 2024-12-03 18:25:10

来自 Google 状态栏图标 UI 指南(也可应用于其他可绘制元素)

警告:因为这些资源可能会在平台版本之间发生变化,
您不应该使用 Android 平台引用这些图标
资源 ID(即 android.R.drawable 下的状态栏图标)。如果你
想要使用任何图标或其他内部可绘制资源,您应该
在您的应用程序中存储这些图标或绘图的本地副本
资源,然后引用应用程序代码中的本地副本。
这样,您就可以控制自己的外观
图标,即使系统的副本发生变化。

From Google's UI Guidelines for Status Bar Icons (also can be applied towards other drawable elements)

Warning: Because these resources can change between platform versions,
you should not reference these icons using the Android platform
resource IDs (i.e. status bar icons under android.R.drawable). If you
want to use any icons or other internal drawable resources, you should
store a local copy of those icons or drawables in your application
resources, then reference the local copy from your application code.
In that way, you can maintain control over the appearance of your
icons, even if the system's copy changes.

溺孤伤于心 2024-12-03 18:25:10

这很奇怪,尽管 ic_menu_save 和 stat_sys_download 的格式可能存在差异,从而导致了此问题。您可以尝试使用 setBackgroundResource(int resId) 代替吗?否则,请尝试将资源复制到本地目录并查看是否有效。

That's strange, though there's probably a difference between ic_menu_save and stat_sys_download in their formats which causes this problem. Can you try using setBackgroundResource(int resId) instead? Otherwise, try copying the resource to your local directory and see if that works.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文