第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法更改首選項標(biāo)題中圖標(biāo)的顏色?

有沒有辦法更改首選項標(biāo)題中圖標(biāo)的顏色?

紅糖糍粑 2023-03-23 13:41:38
我已經(jīng)在我的首選項頭文件中添加了一些圖標(biāo)(作為 SVG),我想用 Java 更改它們的顏色(我的應(yīng)用程序是主題化的,我找不到任何其他方法來根據(jù)主題更改圖標(biāo)顏色) .我已經(jīng)嘗試過以類似于按鈕等的方式更改圖標(biāo)的顏色......我也無法使用“app:tint”屬性更改顏色并且無論如何它都不會隨著主題而改變我愿意。這是首選項標(biāo)頭代碼。我想改變“ic_round_settings”的顏色。<header      android:fragment="com.appname.settings.fragment.GeneralSettingsFragment"         android:icon="@drawable/ic_round_settings"         android:title="@string/settings_general"         android:summary="@string/settings_general_explain" />
查看完整描述

2 回答

?
Qyouu

TA貢獻(xiàn)1786條經(jīng)驗 獲得超11個贊

好的,我找到了一種方法。如果您將 attr 屬性添加到首選項標(biāo)頭,如下所示:

<header
        android:fragment="com.appname.settings.fragment.GeneralSettingsFragment"
        android:icon="?attr/ic_round_settings"
        android:title="@string/settings_general"
        android:summary="@string/settings_general_explain" />

并將該屬性添加到值文件夾中的 attr.xml 文件:

<attr name="ic_round_settings" format="reference"/>

并將其添加到帶有明暗版本圖標(biāo)的 styles.xml 中的主題類中,主題將發(fā)生變化:

<style name="Theme.BaseLightTheme" parent="Theme.AppCompat">
    <item name="ic_round_settings">@drawable/ic_round_settings_dark</item>
</style>
<style name="Theme.BaseDarkTheme" parent="Theme.AppCompat">
    <item name="ic_round_settings">@drawable/ic_round_settings_light</item>
</style>

在 SVG 圖標(biāo)文件中,將淺色 SVG 圖標(biāo)副本中的顏色從#000000 更改為#ffffff:

<path
      android:fillColor="#000000"
      android:pathData=""/>

編輯:這不適用于 Android 4.4 及以下版本——圖標(biāo)根本不會出現(xiàn)


查看完整回答
反對 回復(fù) 2023-03-23
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊

要實現(xiàn)該行為,請像這樣使用對 XML 中顏色的引用


<FrameLayout 

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    android:layout_width="match_parent"

    android:layout_height="match_parent">


    <TextView

                android:id="@+id/btn_send"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textColor="?attr/colorAccent"

                android:tint="?attr/colorAccent"

                android:text="@string/chat_send_text"

                android:drawableTint="?attr/colorAccent"

                android:drawableRight="@drawable/ic_paper_plane"/>

</FrameLayout>

此外,在處理活動時**確保在使用**之前設(shè)置主題,否則在動態(tài)設(shè)置主題時setContentView(R.layout_your_layout_file)必須調(diào)用。recreate()


例子

override fun onCreate(savedInstanceState: Bundle?) {

    setTheme(whatever_theme_you_want_to_use)

    setContentView(R.layout.activity_cool)

    // Further view initialization

}

缺點是您必須setTheme在所有活動中明確指出,因為 Android 沒有為開發(fā)人員提供更簡單的方法來更改整個應(yīng)用程序的主題。


查看完整回答
反對 回復(fù) 2023-03-23
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號