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

Android 獲取 ActionBar 標題 TextView:不可靠,建議使用 setTitle 或自訂佈局

     編輯:程式設計綜合問答

直接獲取 TextView 不可行

ActionBar 內部結構隨 Android 版本、廠商 ROM、主題樣式不同,**無公開 API 取得標題 TextView**。嘗試反射或遍歷視圖樹極易崩潰。

推薦做法

1. 設定標題文字

getSupportActionBar().setTitle("我的標題");
// 或 Toolbar
toolbar.setTitle("我的標題");

2. 設定標題樣式(字體、顏色、大小)

// styles.xml
<style name="MyActionBarTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textSize">18sp</item>
    <item name="android:fontFamily">sans-serif-medium</item>
</style>

// 主題套用
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarTitleTextAppearance">@style/MyActionBarTitle</item>
</style>

3. 完全自訂:使用 Toolbar + 自訂佈局

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary">

    <TextView
        android:id="@+id/custom_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="自訂標題"
        android:textColor="@android:color/white"
        android:textSize="20sp" />
</androidx.appcompat.widget.Toolbar>
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
TextView customTitle = findViewById(R.id.custom_title);
// 完全控制 customTitle

總結

  • 不要嘗試 findViewById(android.R.id.title) 或類似手段。
  • 標題文字用 setTitle,樣式用主題,複雜需求用 Toolbar 自訂佈局。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved