一般而言,dp用在控件宽高上,sp用在文字显示上。开发中设计稿上会标上控件的宽高,文字的大小。而设置不同系统字体大小会出现适配问题,如文字显示不全。
当设置系统字体大小为小,效果图为:
当设置系统字体大小为大,效果图为:
当系统字体大小为大,文字显示不全。
解决的方式使用wrap_content,用内容来决定控件的大小。
本例xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="20dp"
android:layout_margin="15dp"
android:gravity="center"
android:text="height-20dp,textsize-16sp"
android:textSize="16sp"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center"
android:textSize="16sp"
android:text="height-20dp,textsize-16sp"
/>
<FrameLayout android:layout_width="match_parent"
android:background="@android:color/holo_orange_light"
android:layout_height="25dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="外层容器height-20dp,textsize-18sp"
android:textSize="18sp"
/>
</FrameLayout>
</LinearLayout>