簡體   English   中英

在Android應用程序中引用圖標的方法

[英]Ways to reference an icon in an android app

我知道你可以引用一個圖標

<item   android:id="@+id/config"
    android:icon="@drawable/ic_config"
    android:title="@string/config"
    app:showAsAction="ifRoom"/>

所以這在drawable文件夾中,並查找ic_config圖像。
但我最近看到了這個:

    android:id="@+id/config"
    android:icon="?iconConfig"
    android:title="@string/config"
    app:showAsAction="ifRoom"/>

現在我不明白我的config-image和?iconConfig之間的映射是如何工作的,我可以看到' iconConfig '出現在R.java和attr.xml文件中,但是沒有其他地方。
誰能解釋一下?

'?' 當您需要在具有多個主題時引用drawable時使用。 它是為了在主題之間切換時簡化邏輯,讓Android自動決定使用哪種資源。

請通過以下鏈接:

http://www.linuxtopia.org/online_books/android/devguide/guide/topics/ui/themes.html

編輯

為方便起見,我發布了上面提供的鏈接所需的部分:

就像樣式一樣,主題也在XML元素中聲明,並以相同的方式引用。 不同之處在於您通過Android Manifest中的元素和元素向整個應用程序或活動添加主題 - 主題無法應用於單個視圖。

這是一個主題的示例聲明:

<?xml version="1.0" encoding="utf-8"?> <resources>   <style name="CustomTheme">        
    <item name="android:windowNoTitle">true</item>
    <item name="windowFrame">@drawable/screen_frame</item>
    <item name="windowBackground">@drawable/screen_background_white</item>
    <item name="panelForegroundColor">#FF000000</item>
    <item name="panelBackgroundColor">#FFFFFFFF</item>
    <item name="panelTextColor">?panelForegroundColor</item>
    <item name="panelTextSize">14</item>
    <item name="menuItemTextColor">?panelTextColor</item>
    <item name="menuItemTextSize">?panelTextSize</item>   </style> </resources> 

注意使用at符號(@)和問號(?)來引用資源。 at符號表示我們引用之前在其他地方定義的資源(可能來自此項目或來自Android框架)。 問號表示我們在當前加載的主題中引用了資源值。 這是通過引用特定的名稱值來完成的。 (例如,panelTextColor使用分配給事先定義的panelForegroundColor的相同顏色。)此技術只能在XML資源中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM