Проблема с макетом приложения для телефонов с разной плотностью экрана - PullRequest
0 голосов
/ 15 января 2019

У меня проблема с макетом моего приложения для телефонов ниже. в первом макете выглядит хорошо, но во втором телефоне макет не совсем так, как в первом. хотя я помещаю XML-файлы в папку (Layout-w480dp) и не использую макет ограничения

huawei G8: Фото Разрешение: 1920 x 1080 px Плотность экрана: 403 ppi Плотность экрана (DPI): 480 ppi (xxhdpi) (640dp) x (360dp)

huawei Y9: Фото Разрешение: 2160 х 1080 пикселей Плотность экрана: 407 ppi Плотность экрана (DPI): 480 ppi (xxhdpi) (720dp) x (360dp)

спасибо

1 Ответ

0 голосов
/ 15 января 2019

добавьте этот атрибут к вашему textView в xml app:autoSizeTextType="uniform" это изменит размер текста в соответствии с областью просмотра текста

  <TextView
    android:layout_width="50sp"
    android:layout_height="50sp"
    android:text="Hello World!"
    app:autoSizeTextType="uniform"    
    tools:ignore="MissingPrefix" />

для дальнейшей настройки вы можете установить

    app:autoSizeMaxTextSize="100sp"
    app:autoSizeMinTextSize="20sp"
    app:autoSizePresetSizes="@array/autosize_text_sizes"

, где autosize_text_sizes - массив в файле значений arrays.xml res создайте его, щелкнув правой кнопкой мыши значения -> новый -> файл ресурсов значений -> назовите его arrays.xml , который динамически выбирает размер текста в зависимости от доступности текстовой области

<?xml version="1.0" encoding="utf-8"?>
<resources>

<array name="autosize_text_sizes">
    <item>10sp</item>
    <item>50sp</item>
    <item>150sp</item>
</array>

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