有没有办法强制使用@android:drawable/ic_menu_send
等系统资源的按钮与我选择的背景?
默认为:
我想要的是:
答案 0 :(得分:2)
我建议您使用Google提供的“Action Bar Icon Pack”中的所需图标 在http://developer.android.com/design/style/iconography.html#action-bar
上引用在那里,您会找到6_social_send_now.png
和holo_light
主题的图标holo_dark
。
Mark L. Murphy在"The Busy Coder's Guide to Android"中提到了不直接从SDK引用系统图标的一个原因:“然而,存在风险:欢迎设备制造商用他们自己的艺术品替换这些可绘制的产品。”那些可能不适合您应用中的其他(自制)图标。
答案 1 :(得分:0)
您是否尝试以“?”开头的style attributes:
?android:drawable/ic_menu_send
<强>更新强>
看起来并不那么容易。首先,您必须检查SDK资源中有哪个drawables
条目,例如:查看Android SDK安装的文件夹android-sdk/platforms/android-15/data/res
。在那里,grep
可以drawable
。
在以下示例中,我们发现ic_menu_send
中themes.xml
没有条目(仅在public.xml
中),因此attrs.xml
中没有相应属性的条目。
可行的drawable是ic_menu_share
我们可以在themes.xml
和attrs.xml
找到条目,以便我们可以通过以下方式使用style属性android:src="?android:actionModeShareDrawable"
jh@jh-aspire:/opt/android-sdk/platforms/android-15/data/res$ grep -r ic_menu_send *
values/public.xml: <public type="drawable" name="ic_menu_send" id="0x01080050" />
jh@jh-aspire:/opt/android-sdk/platforms/android-15/data/res$ grep -r ic_menu_share *
values/public.xml: <public type="drawable" name="ic_menu_share" id="0x01080052" />
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_dark</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_light</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_dark</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_light</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_dark</item>
jh@jh-aspire:/opt/android-sdk/platforms/android-15/data/res$ grep -r actionModeShareDrawable *
menu/webview_copy.xml: android:icon="?android:attr/actionModeShareDrawable"
values/attrs.xml: <attr name="actionModeShareDrawable" format="reference" />
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_dark</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_light</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_dark</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_light</item>
values/themes.xml: <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_dark</item>