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" />