Giới thiệu
Bài viết hướng dẫn cách lấy tiêu đề (title) hiện tại của Action Bar/App Bar bằng getSupportActionBar().getTitle().
Các bước thực hiện
Bước 1: Tạo project mới
Android Studio → File → New Project → Empty Activity.
Bước 2: Giao diện (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<TextView
android:id="@+id/tvActionBarTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Action Bar Title: "
android:textSize="18sp" />
</LinearLayout>
Bước 3: Code (MainActivity.kt)
package com.example.actionbartitle
import android.os.Build
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Set title trước khi get
supportActionBar?.title = "Home"
supportActionBar?.subtitle = "Subtitle text"
// Lấy title
val title = supportActionBar?.title.toString()
tvActionBarTitle.text = "Action Bar Title: $title"
// Log
println("ActionBar Title: $title")
println("ActionBar Subtitle: ${supportActionBar?.subtitle}")
}
}
Các phương thức liên quan
| Phương thức | Chức năng | Trả về |
|---|---|---|
getTitle() |
Lấy title chính | CharSequence |
getSubtitle() |
Lấy subtitle | CharSequence |
setTitle(CharSequence) |
Set title | void |
setSubtitle(CharSequence) |
Set subtitle | void |
setDisplayShowTitleEnabled(false) |
Ẩn/hiện title hiển thị | void |
Lưu ý
- Phải gọi
setContentView()trước khi truy cậpsupportActionBar. - Nếu dùng Theme NoActionBar,
supportActionBarsẽ null → cần check null. - Với Toolbar tùy chỉnh:
toolbar.title,toolbar.subtitle. - Title có thể là String resource:
setTitle(R.string.app_name).
Ví dụ với Toolbar tùy chỉnh
<!-- layout -->
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
// Activity setSupportActionBar(toolbar) val title = toolbar.title.toString() // Hoặc val title = supportActionBar?.title.toString()