PreferenceScreen размер для другого размера устройства

У меня есть PreferenceScreen, но я хочу, чтобы он также был на больших устройствах, но элементы не масштабируются, и я не могу изменить его размер. На планшетах это выглядит очень маленьким, и я хочу сделать его больше, как это сделать?

Вот как это выглядит прямо сейчас:

XML

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    >

    <EditTextPreference
        android:defaultValue="0"
        android:key="longitudeList"
        android:numeric="signed|decimal"
        android:phoneNumber="false"
        android:selectAllOnFocus="true"
        android:singleLine="true"
        android:summary="@string/longitudeRange"
        android:textSize="100dp"
        android:title="@string/enterLong" />
    <EditTextPreference
        android:defaultValue="0"
        android:key="latitudeList"
        android:numeric="signed|decimal"
        android:phoneNumber="false"
        android:selectAllOnFocus="true"
        android:singleLine="true"
        android:summary="@string/latitudeRange"
        android:title="@string/enterLati" />

    <ListPreference
        android:defaultValue="10"
        android:entries="@array/refreshArray"
        android:entryValues="@array/refreshValues"
        android:key="refreshList"
        android:title="Select refresh time" />


</PreferenceScreen>

1 ответ

Используйте sp для размера текста

            android:textSize="20sp"

Из андроид документации

При определении размеров текста, однако, вы должны вместо этого использовать независимые от масштаба пиксели (sp) в качестве своих единиц (но никогда не используйте sp для размеров макета). По умолчанию размер sp равен размеру dp, но его размер изменяется в зависимости от предпочитаемого пользователем размера текста.

Например, когда вы указываете интервал между двумя представлениями, используйте dp:

<Button android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/clickme"
    android:layout_marginTop="20dp" />

При указании размера текста всегда используйте sp:

<TextView android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp" />
Другие вопросы по тегам