我有一个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>
答案 0 :(得分:0)
将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" />