不同设备大小的首选项屏幕大小

时间:2018-03-16 21:16:26

标签: android android-edittext preferencescreen

我有一个PreferenceScreen,但我也想在大型设备上使用它,但是元素不能缩放,我无法改变它的大小。在平板电脑上它看起来很小,我想让它变大,怎么做?

这就是现在的样子: enter image description here

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 个答案:

答案 0 :(得分:0)

将sp用于文字大小

            android:textSize="20sp"

来自android documentation

  

但是,在定义文本大小时,您应该使用   与比例无关的像素(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" />