TextView autoSizeTextType not working in Compat TextView autoSizeTextType not working in Compat xml xml

TextView autoSizeTextType not working in Compat


Okay, so the combination of settings that worked :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"><android.support.v7.widget.AppCompatTextViewandroid:text="7"app:autoSizeTextType="uniform"/>

You also need the appcompat-v7 library as a dependency in your module build.gradle file.

dependencies {    implementation 'com.android.support:appcompat-v7:27.1.1'}


The key thing to understand is to use app:autoSizeTextType, as opposed to android:autoSizeTextType

Per the documentation:

To define the default setting in XML through the support library, use the app namespace and set the autoSizeTextType attribute to none or uniform.

<?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>


I solved it programmatically.

TextView number1 = findViewById(R.id.number_one);TextViewCompat.setAutoSizeTextTypeWithDefaults(number1, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM);

and the XML:

  <TextView        android:id="@+id/number_one"        android:autoSizeTextType="uniform"        android:gravity="center"        android:text="1"  />