首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android Activity 標題欄文字修改:XML 標籤與代碼雙軌並行

     編輯:程式設計疑難解答

兩種修改方式

1. 清單檔靜態聲明(適用於固定標題)

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" > <!-- 字串資源或直接寫文字 -->
    <intent-filter>...</intent-filter>
</activity>

2. 代碼動態設定(適用於運行時變化)

// 在 onCreate 中
setTitle("動態標題");                    // 傳統 ActionBar
getSupportActionBar().setTitle("標題");   // AppCompat Toolbar
// 或完全自訂 Toolbar
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("自訂標題");

多 Activity 標題管理最佳實踐

  • BaseActivity 封裝:建立基類統一 setCustomTitle(String) 邏輯,子類呼叫即可。
  • 字串資源化:所有標題文字放入 strings.xml,支援多語言與集中維護。
  • ToolBar 替代 ActionBar:自 API 21 起推薦使用 Toolbar,彈性更高(可放圖標、搜尋框、選單)。

常見坑點

現象原因解決
標題不顯示Theme 設為 NoActionBar 但未設 Toolbar改用 Theme.AppCompat.Light.DarkActionBar 或正確配置 Toolbar
setTitle 無效在 setSupportActionBar 前呼叫先 setSupportActionBar(toolbar) 再 getSupportActionBar().setTitle()
標題閃爍onCreate 與 onResume 重複設定僅在 onCreate 設定,或用 setTitle 覆寫而非疊加

總結

Android Activity 標題可透過 AndroidManifest.xml 的 android:label 靜態指定,或在代碼中動態呼叫 setTitle()/Toolbar.setTitle()。現代開發建議**全面遷移至 Toolbar**,並封裝基類統一管理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved