日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android更改menu字体颜色,Android动态修改menu颜色

發布時間:2025/3/13 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android更改menu字体颜色,Android动态修改menu颜色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨晚有人在群里問怎么動態修改menu的顏色

關鍵對方還說在網上百度了3個小時了,依然沒有解決問題

我知道,輪到我出手了😀

如果你是復制粘貼黨,那么下面的代碼拿走即可👇

@Override

public boolean onOptionsItemSelected(@NonNull MenuItem item) {

int itemId = item.getItemId();

for (int i = 0; i < toolBar.getChildCount(); i++) {

View childAt = toolBar.getChildAt(i);

if (childAt instanceof ActionMenuView) {

ActionMenuView itemView = (ActionMenuView) childAt;

for (int j = 0; j < itemView.getChildCount(); j++) {

ActionMenuItemView menuItemView = (ActionMenuItemView) itemView.getChildAt(j);

int id = menuItemView.getId();

if (itemId==id){

menuItemView.setTextColor(Color.BLUE);

}else {

menuItemView.setTextColor(Color.BLACK);

}

}

}

}

return super.onOptionsItemSelected(item);

}

如果你還想學習一點東西,可以從這里往下看

其實很簡單

當時我也從網上隨便搜索了一下,憑感覺沒有發現比較靠譜的方案。只好自己去翻源碼

我本來的思路是通過反射來更改文字顏色,但是在翻源碼的過程中我發現如果我要精確的找到那個textView,這個工作量有點大了。

后來就想著,我只要搞清楚toolBar中的樹形結構,然后找到顯示menu文字的textView就行了。

既然要找toolBar的樹形結構,那么遍歷toolBar是最好的選擇

在遍歷過程中找到textView或者其子類,然后去改變文字的顏色,看看有沒有效果。

省時省力省心。

代碼遂成!

question:如果我們想默認選中某個menu,該怎么辦捏?

福利代碼,拿走不謝👇

@Override

public boolean onPrepareOptionsMenu(Menu menu) {

Log.d(TAG, "onPrepareOptionsMenu: ");

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

for (int i = 0; i < toolBar.getChildCount(); i++) {

View childAt = toolBar.getChildAt(i);

if (childAt instanceof ActionMenuView) {

ActionMenuView itemView = (ActionMenuView) childAt;

for (int j = 0; j < itemView.getChildCount(); j++) {

ActionMenuItemView menuItemView = (ActionMenuItemView) itemView.getChildAt(j);

int id = menuItemView.getId();

if (id==R.id.menu_manage){

menuItemView.setTextColor(Color.BLUE);

}

}

}

}

}

}, 100);

return super.onPrepareOptionsMenu(menu);

}

總結

以上是生活随笔為你收集整理的android更改menu字体颜色,Android动态修改menu颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。