1

有没有办法使用系统资源强制按钮,例如@android:drawable/ic_menu_send我选择的背景?

默认是这样的:

ic_menu_send 灯

我想要的是这样的:
在此处输入图像描述

4

2 回答 2

2

我建议使用 Google 在http://developer.android.com/design/style/iconography.html#action-bar上提供的“操作栏图标包”中的所需图标

在那里你会找到图标6_social_send_now.png和主题。holo_lightholo_dark

Mark L. Murphy 在“The Busy Coder's Guide to Android”中给出了不直接从 SDK 引用系统图标的一个原因:“但是,存在风险:欢迎设备制造商将这些可绘制对象替换为他们自己的图稿。” 这些可能不适合您应用中的其他(自制)图标。

于 2013-07-01T12:11:10.023 回答
0

您是否尝试过以“?”开头的 样式属性:?android:drawable/ic_menu_send

更新:

看起来这并不容易。首先,您必须检查drawablesSDK 资源中有哪些条目,例如查看android-sdk/platforms/android-15/data/res您的 Android SDK 安装文件夹。在那里你可以grep为你的drawable.

在以下示例中,我们发现ic_menu_sendin themes.xml(仅 in public.xml)没有条目,因此 in 的相应属性也没有条目attrs.xml

一个可以工作的drawable是ic_menu_share我们可以在其中找到条目的地方themes.xmlattrs.xml因此我们可以通过以下方式使用样式属性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>
于 2013-04-04T19:45:29.243 回答