Текст переполняется, когда мы увеличиваем Размер шрифта и Размер дисплея из Настройки отображения - PullRequest
0 голосов
/ 04 июля 2019

У нас есть 10 различных текстовых представлений со значением 95,96 ...... 100,101,105, все в порядке, если размер шрифта и размер дисплея по умолчанию.Но как только мы увеличиваем Размер шрифта и Размер дисплея на Большой или Наибольший, все 3 значения символа, например, 100, 101 ... 105, разделяются во второй строке, например, на 100, 10 - это первая строка, а 0 - во второй строке, из-за этого пользовательский интерфейсвыглядеть странноМы пытаемся сделать как android:maxLines="1", но после этого последний символ обрезается / скрывается, как для 100 отображается только 10. Мы также используем решение Android AutoTextSizing

android:autoSizeTextType="uniform"
android:autoSizeMinTextSize="12sp"
android:autoSizeMaxTextSize="100sp"
android:autoSizeStepGranularity="2sp"

Но с этим решением также есть одна проблема, все 3 символазначения 100 ... 105 показаны маленькими, и все символы 95 ... 99 большие

Теперь я ищу другое лучшее решение для своей проблемы. Я хочу, чтобы весь текст 95 ... 105 был аналогомРазмер и только в одной строке также его размер также увеличивается при изменении пользователем размера шрифта и размера дисплея.от настройки дисплея.

Любая помощь приветствуется !!

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Вы можете попробовать определить отдельные размеры текста в dimens.xml как values-hdpi -> dimens.xml, values-xhdpi -> dimens.xml и так далее. Если он все еще не работает, определите размер текста в dp вместо sp.

0 голосов
/ 04 июля 2019

Вам необходимо переопределить этот метод в своей деятельности. Когда пользователь изменяет экран Display или TextSize, он изменяет параметры конфигурации системы, а затем ваше приложение также выбирает эти параметры конфигурации, и во всем приложении размер шрифта становится больше или меньше. Это может нарушить внешний вид ваших приложений. Если вы хотите установить одинаковые конфигурации, вы можете реализовать приведенный ниже код. Вы можете изменить размер шрифта, установив значение config.fontScale = ваш выбор; Вы можете проверить fontScale на экранах разных размеров.

@Override
    protected void attachBaseContext(Context newBase) {
        Log.d(TAG, "attachBaseContext: ");
        super.attachBaseContext(newBase);

        Log.v(TAG, "attachBaseContext: Applying new configuration");
        Resources res = newBase.getResources();
        Configuration config = new Configuration();
        config.fontScale = 1.0f;
        res.updateConfiguration(config, res.getDisplayMetrics());
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...