簡體   English   中英

更改操作欄標題 Android 的顏色

[英]Change Color of Action Bar Title Android

我正在編寫一個 android 應用程序,其中我試圖通過單擊按鈕來更改操作欄標題的顏色。 只要我點擊按鈕,標題就會隱藏,盡管我傳遞的是黃色的顏色代碼。 這是我的 MainActivity.java 代碼

Button B;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    B = (Button) findViewById(R.id.button1);
    B.setOnClickListener(this);
}


public void onClick(View v) {
    android.app.ActionBar actionBar = getActionBar();
    Internal.setActionBarTitleColor(actionBar, 256);
}

內部.java

  public static void setActionBarTitleColor(android.app.ActionBar actionBar, int titleColor) {
    if(actionBar == null)
        return;

    try {
        Field actionViewField = actionBar.getClass().getDeclaredField("mActionView");
        actionViewField.setAccessible(true);
        Object actionView = actionViewField.get(actionBar);
        if(actionView == null)
            return;

        Field titleTextField = actionView.getClass().getDeclaredField("mTitleView");
        titleTextField.setAccessible(true);
        TextView titleText = (TextView)titleTextField.get(actionView);

        if(titleText != null)
            titleText.setTextColor(titleColor);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
actionBar.setBackgroundDrawable(new ColorDrawable(0xff00DDED));
actionBar.setDisplayShowTitleEnabled(false);  // required to force redraw
actionBar.setDisplayShowTitleEnabled(true);
    int titleId=Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
    TextView yourTextView = (TextView)findViewById(titleId); 
    yourTextView.setTextColor(getResources().getColor(R.color.white));

ActionBar 標題 ID 是隱藏的,或者換句話說,它是內部的,通常無法訪問它。 您可以使用 Resources.getIdentifier 引用它。

請按照以下步驟操作:

1. 獲取 action_bar_title 的 ID

int titleId = getResources().getIdentifier("action_bar_title", "id", "android");

2. 現在您可以將 ID 與 TextView 一起使用

TextView abTitle = (TextView) findViewById(titleId);
abTitle.setTextColor(colorId);

就這樣。

暫無
暫無

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

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