Я вижу, что Android выпустил в Oreo новый атрибут для textView:
Oreo
textView
android:autoSizeTextType
Это адаптирует макет textView в зависимости от отображаемой строки текста.
Как бы я мог использовать это с textSwitcher?
textSwitcher
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" /> private ViewFactory viewFactory = new ViewFactory() { public View makeView() { LayoutInflater inflater = LayoutInflater.from(TextSwitcherTest.this); TextView textView = (TextView) inflater.inflate(R.layout.textView, null); return textView; } };
altitudeSwitcher = (TextSwitcher) findViewById(R.id.altitude); altitudeSwitcher.setFactory(new ViewFactory() { @Override public View makeView() { TextView t = new TextView(getApplicationContext()); t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL); t.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 50); return t; } });