Android修改ToolBar的返回按鈕顏色

修改ToolBar返回按鈕顏色有兩種方式:

1:通過theme修改

這種方式修改可以簡單的在xml文件中使用app:theme = " "屬性
例如:這樣就可以把返回按鈕改成黑色

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.ActionBar">
</android.support.v7.widget.Toolbar>

下面這個(gè)可以將返回按鈕改為白色

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
</android.support.v7.widget.Toolbar>

如果黑白色無法滿足要求的話,就需要通過繼承系統(tǒng)的style并覆蓋"colorControlNormal"屬性來實(shí)現(xiàn)

<style name="ToolbarCustomStyle" parent="ThemeOverlay.AppCompat.ActionBar">
        <item name="colorControlNormal">@color/white</item>
</style>

然后在ToolBar的app:theme中使用ToolbarCustomStyle就可以了,其中@color/white可以換成任意顏色

2:通過代碼動(dòng)態(tài)修改返回按鈕顏色

方法1中通過xml中使用style的方法不夠靈活,如果需要在使用過程中動(dòng)態(tài)修改顏色可以使用下面的方法

protected void setToolbarCustomTheme() {
        Drawable upArrow = ContextCompat.getDrawable(this, R.drawable.abc_ic_ab_back_material);
        if(upArrow != null) {
            upArrow.setColorFilter(ContextCompat.getColor(this, R.color.white), PorterDuff.Mode.SRC_ATOP);
            if(getSupportActionBar() != null) {
                getSupportActionBar().setHomeAsUpIndicator(upArrow);
            }
        }
    }

其中R.color.white可以換成任意顏色

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 作者:李旺成### 時(shí)間:2016年4月14日### 接上篇 AndroidStudyDemo 之 Android...
    diygreen閱讀 5,404評(píng)論 9 82
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,294評(píng)論 0 17
  • 胡連海十月份讀書第13次打卡,讀的書是,再被狐貍騙一次,135頁到156頁,我最喜歡的句子是,豹和虎在空中相撞,就...
    五三胡連海閱讀 182評(píng)論 0 0
  • 闌夕聽雨閱讀 119評(píng)論 0 1
  • 敏感性皮膚是指皮膚容易受外界刺激而引起某種程度不適的皮膚。當(dāng)外在環(huán)境出現(xiàn)變化,肌膚無法調(diào)適,而出現(xiàn)不舒服的感覺以及...
    云兒弦子閱讀 268評(píng)論 0 0

友情鏈接更多精彩內(nèi)容