Với Android 8.0 (API cấp 26) trở lên, bạn có thể hướng dẫn
    TextView để cho phép kích thước văn bản
    tự động mở rộng hoặc thu gọn để lấp đầy bố cục dựa trên
    Đặc điểm và ranh giới của TextView. Chế độ cài đặt này giúp bạn dễ dàng
    tối ưu hoá kích thước văn bản trên nhiều màn hình với nội dung động.
  
    Thư viện hỗ trợ 26.0 hỗ trợ đầy đủ tính năng tự động định cỡ TextView
    trên thiết bị chạy Android phiên bản 8.0 (API cấp 26) trở xuống.
    Gói android.support.v4.widget chứa TextViewCompat
    để truy cập các tính năng theo kiểu tương thích ngược.
  
Thiết lập chế độ tự động định cỡ TextView
    Bạn có thể sử dụng khung hoặc Thư viện hỗ trợ để thiết lập tính năng tự động định cỡ
    TextView theo phương thức lập trình hoặc trong XML. Để
    đặt thuộc tính XML, bạn cũng có thể sử dụng cửa sổ Thuộc tính
    trong Android Studio.
  
    Bạn có 3 cách để thiết lập tính năng tự động định cỡ TextView,
    được mô tả trong các phần sau đây:
  
Lưu ý: Nếu bạn thiết lập tính năng tự động định cỡ trong tệp XML, chúng tôi sẽ không
    được đề xuất sử dụng giá trị "wrap_content" cho
    Thuộc tính layout_width hoặc layout_height của một
    TextView. Làm như vậy có thể
    kết quả không mong muốn.
Mặc định
    Chế độ cài đặt mặc định cho phép tự động định cỡ TextView theo tỷ lệ
    một cách đồng nhất trên trục ngang và trục dọc.
  
- Để xác định chế độ cài đặt mặc định bằng cách lập trình, hãy gọi
      
      Phương thức setAutoSizeTextTypeWithDefaults(int autoSizeTextType). Cung cấpAUTO_SIZE_TEXT_TYPE_NONEđể tắt tính năng tự động định cỡ hoặcAUTO_SIZE_TEXT_TYPE_UNIFORMđể điều chỉnh tỷ lệ trục ngang và trục dọc một cách đồng nhất.
- Để xác định chế độ cài đặt mặc định trong XML, hãy sử dụng không gian tên androidvà đặtautoSizeTextTypethành none hoặc đồng nhất.
Lưu ý: Các kích thước mặc định để
      điều chỉnh theo tỷ lệ đồng nhất là minTextSize = 12sp,
      maxTextSize = 112sp và granularity = 1px.
    
<?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="match_parent" android:layout_height="200dp" android:autoSizeTextType="uniform" />
Xác định chế độ cài đặt mặc định bằng cách sử dụng Thư viện hỗ trợ
- Để xác định chế độ cài đặt mặc định bằng cách lập trình thông qua Thư viện hỗ trợ,
      gọi
      
      TextViewCompat.setAutoSizeTextTypeWithDefaults(TextView textview, int autoSizeTextType). Cung cấp một bản sao của tiện íchTextViewvà một trong các loại văn bản, chẳng hạn nhưTextViewCompat.AUTO_SIZE_TEXT_TYPE_NONEhoặcTextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM.
- Để xác định chế độ cài đặt mặc định trong XML thông qua Thư viện hỗ trợ, hãy sử dụng
      Không gian tên appvà đặtautoSizeTextTypelà none hoặc đồng nhất.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="200dp" app:autoSizeTextType="uniform" /> </LinearLayout>
Độ chi tiết
    Bạn có thể xác định phạm vi kích cỡ văn bản tối thiểu và tối đa cũng như
    kích thước chỉ định kích cỡ của từng bước. TextView
    có chức năng điều chỉnh theo tỷ lệ một cách đồng nhất trong khoảng từ
    thuộc tính kích thước tối thiểu đến tối đa. Mỗi mức gia tăng xảy ra dưới dạng bước
    kích thước được đặt trong thuộc tính độ chi tiết.
  
- Để xác định phạm vi của kích cỡ văn bản và kích thước bằng cách lập trình,
      hãy gọi
      phương thức
      setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit). Cung cấp giá trị tối đa, giá trị tối thiểu và độ chi tiết và bất kỳTypedValuenào đơn vị kích thước.
- Để xác định phạm vi kích cỡ văn bản và kích thước trong XML, hãy sử dụng androidkhông gian tên và đặt các thuộc tính sau:- Thiết lập
          autoSizeTextTypethành không có hoặc đồng nhất. Giá trị none là chế độ mặc định và đồng nhất cho phépTextViewđiều chỉnh tỷ lệ một cách đồng nhất theo chiều ngang và trục dọc.
- Đặt autoSizeMinTextSize,autoSizeMaxTextSize, vàautoSizeStepGranularityđể xác định kích thước để tự động định cỡTextView.
 
- Thiết lập
          
<?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="match_parent" android:layout_height="200dp" android:autoSizeTextType="uniform" android:autoSizeMinTextSize="12sp" android:autoSizeMaxTextSize="100sp" android:autoSizeStepGranularity="2sp" />
Xác định độ chi tiết bằng Thư viện hỗ trợ
- Để xác định phạm vi kích thước văn bản và kích thước bằng cách lập trình thông qua
      Thư viện hỗ trợ, hãy gọi phương thức
      
      TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit). Cung cấp giá trị tối đa, giá trị tối thiểu, giá trị độ chi tiết, và bất kỳ đơn vị kích thướcTypedValuenào.
- Để xác định phạm vi kích cỡ văn bản và kích thước trong XML thông qua tính năng Hỗ trợ
      Thư viện, hãy sử dụng không gian tên appvà đặt giá trịautoSizeText,autoSizeMinTextSizeautoSizeMaxTextSizevà Thuộc tínhautoSizeStepGranularitytrong tệp XML bố cục.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="200dp" app:autoSizeTextType="uniform" app:autoSizeMinTextSize="12sp" app:autoSizeMaxTextSize="100sp" app:autoSizeStepGranularity="2sp" /> </LinearLayout>
Kích thước đặt trước
    Kích thước đặt trước cho phép bạn chỉ định các giá trị mà
    TextView chọn khi tự động định cỡ văn bản.
  
- 
    Để sử dụng kích cỡ đặt sẵn nhằm thiết lập tính năng tự động định cỡ
    TextViewbằng cách lập trình, hãy gọi phương thứcsetAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit). Cung cấp một loạt kích thước và bất kỳ đơn vị kích thướcTypedValuenào cho kích cỡ đó.
- 
    Để sử dụng kích cỡ đặt sẵn nhằm thiết lập tính năng tự động định cỡ
    TextViewtrong XML, hãy sử dụng vùng chứa tênandroidvà đặt các thuộc tính sau:- Đặt autoSizeTextTypethành không có hoặc đồng nhất. Không có giá trị là mặc định và đồng nhất cho phépTextViewđiều chỉnh tỷ lệ một cách đồng nhất theo chiều ngang và trục dọc.
- Đặt thuộc tính
          autoSizePresetSizesthành một loạt các kích cỡ đặt sẵn. Để truy cập loạt đó dưới dạng tài nguyên, hãy xác định loạt đó trong tệpres/values/arrays.xml.
 
- Đặt 
<resources> <array name="autosize_text_sizes"> <item>10sp</item> <item>12sp</item> <item>20sp</item> <item>40sp</item> <item>100sp</item> </array> </resources>
<?xml version="1.0" encoding="utf-8"?> <TextView android:layout_width="match_parent" android:layout_height="200dp" android:autoSizeTextType="uniform" android:autoSizePresetSizes="@array/autosize_text_sizes" />
Thiết lập kích thước đặt trước bằng Thư viện hỗ trợ
- Để sử dụng kích thước đặt trước nhằm thiết lập tính năng tự động định cỡ của
    TextViewtheo phương thức lập trình thông qua Thư viện hỗ trợ, hãy gọi phương thứcTextViewCompat.setAutoSizeTextTypeUniformWithPresetSizes(TextView textView, int[] presetSizes, int unit). Cung cấp một thực thể của lớpTextView, một nhiều kích thước và bất kỳ đơn vị kích thướcTypedValuenào cho kích thước.
- Để sử dụng kích thước đặt trước nhằm thiết lập tính năng tự động định cỡ của
    TextViewtrong XML thông qua Thư viện hỗ trợ, hãy sử dụng không gian tênappvà đặtautoSizeTextTypevà Thuộc tínhautoSizePresetSizestrong tệp XML bố cục.
<resources> <array name="autosize_text_sizes"> <item>10sp</item> <item>12sp</item> <item>20sp</item> <item>40sp</item> <item>100sp</item> </array> </resources>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="200dp" app:autoSizeTextType="uniform" app:autoSizePresetSizes="@array/autosize_text_sizes" /> </LinearLayout>
Tài nguyên khác
  Để biết thêm thông tin về tính năng tự động định cỡ TextView khi làm việc với các thuộc tính động
  nội dung, xem
  Android Jetpack: Tự động định cỡ TextView.
  
