Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách kiểm tra tiêu đề Action Bar có bị cắt ngắn (truncated) không trên Android

Giới thiệu

Ví dụ này minh họa cách kiểm tra xem tiêu đề (title) của Action Bar có bị cắt ngắn do không đủ không gian hiển thị hay không bằng phương thức isTitleTruncated().

Các bước thực hiện

Bước 1: Tạo dự án mới

Mở Android Studio, chọn File → New Project.

Bước 2: Thiết kế 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"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

Bước 3: Viết logic (src/MainActivity.java)

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.text);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("Home");
        getSupportActionBar().setSubtitle("sairam");

        // Kiểm tra title có bị truncate không
        textView.setText("Title bị cắt ngắn: " + getSupportActionBar().isTitleTruncated());
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        if (menuItem.getItemId() == android.R.id.home) {
            finish();
        }
        return super.onOptionsItemSelected(menuItem);
    }
}

Phương thức isTitleTruncated() trả về true nếu tiêu đề quá dài và bị cắt ngắn (hiển thị dấu ba chấm ...), false nếu hiển thị đầy đủ.

Chạy ứng dụng

Chạy ứng dụng. Thử đặt tiêu đề rất dài để thấy kết quả true.

Cách kiểm tra tiêu đề Action Bar có bị cắt ngắn (truncated) không trên Android