TextView autoSizeTextType не работает в динамическом текстовом представлении - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь создать textView программно и setHeight, setWidth и автоматический размер текста на нем.textview работает хорошо, но автоматический размер текста не работает!пожалуйста, помогите мне.

  AbsoluteLayout absoluteLayout = findViewById(R.id.absoluteLayout);

    TextView textView = new TextView(MainActivity.this);
    textView.setText("Hi Ali");


    textView.setWidth(300);
    textView.setHeight(100);

    textView.setX(100);
    textView.setY(40);
    TextViewCompat.setAutoSizeTextTypeWithDefaults(textView, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM);

    //border
    GradientDrawable gd = new GradientDrawable();
    gd.setStroke(2, 0xFF000000);
    gd.setCornerRadius(5);
    textView.setBackground(gd);

    absoluteLayout.addView(textView);

и его мой код XML

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/absoluteLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</FrameLayout>

1 Ответ

0 голосов
/ 04 февраля 2019

Используйте AppcompatTextView из библиотеки поддержки:

TextView textView = new AppCompatTextView(MainActivity.this);

или, если это не работает:

AppCompatTextView textView = new AppCompatTextView(MainActivity.this);

Причина, по которой это работает, заключается в том, что при определении представлений в XML ииспользуют контекст AppCompat (например, AppCompatActivity), тогда раздуваемый TextView - это не класс TextView в платформе Android, а подкласс TextView, называемый AppCompatTextView.Это верно для нескольких других виджетов.Вы можете проверить this , чтобы увидеть несколько других виджетов, которые переопределяются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...