有沒有辦法強制使用系統資源的按鈕,如@android:drawable/ic_menu_send
與我選擇的背景?強制@android的主題:可繪製的支持低級API
默認是這樣的:
和期望的一個對我來說是這樣的: 「?」
有沒有辦法強制使用系統資源的按鈕,如@android:drawable/ic_menu_send
與我選擇的背景?強制@android的主題:可繪製的支持低級API
默認是這樣的:
和期望的一個對我來說是這樣的: 「?」
你嘗試style attributes開始: ?android:drawable/ic_menu_send
更新:
看起來並不那麼容易。首先,您必須檢查哪些drawables
SDK資源中有條目,例如請查看您的Android SDK安裝文件夾android-sdk/platforms/android-15/data/res
。在那裏你可以grep
爲你的drawable
。
在下面的例子中,我們發現有在themes.xml
爲ic_menu_send
沒有條目(僅在public.xml
),因此在爲attrs.xml
的相應屬性中沒有條目。
這將工作ic_menu_share
,我們可以在themes.xml
和attrs.xml
找到條目,這樣我們就可以使用樣式屬性以下列方式android:src="?android:actionModeShareDrawable"
[email protected]:/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" />
[email protected]:/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>
[email protected]:/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>
我會建議使用所需的圖標從A繪製了「操作欄圖標包」由谷歌 提供http://developer.android.com/design/style/iconography.html#action-bar
引用在那裏,你會發現holo_light
和holo_dark
主題圖標6_social_send_now.png
。
由Mark L. Murphy在"The Busy Coder's Guide to Android"中給出了不直接從SDK引用系統圖標的一個原因:「但是,存在一個風險:設備製造商歡迎用他們自己的藝術品替換這些可繪製的。而那些可能不適合您應用中的其他(自制)圖標。
你能否解釋一下如何應用正確的「樣式屬性」來獲得所需的圖像? – Etan 2013-06-29 16:24:48
其實我無法解釋它比上面的鏈接更好。究竟是什麼問題? – 2013-06-29 17:40:41
好吧,如果我把它放在一個ImageButton「android:src」屬性中,例如'?android:drawable/ic_menu_send'不存在,並且'@android:drawable/ic_menu_send'返回原來的白色變化。 – Etan 2013-06-29 18:36:46