一.所花时间

0.5h

二.代码量

50行

三.博客量

1篇

四.了解到的知识点

设置文本大小

// 从布局文件中获取名叫tv_sp的文本视图
TextView tv_sp = findViewById(R.id.tv_sp);
 tv_sp.setTextSize(30); // 设置tv_sp的文本大小

1.px px是手机屏幕的最小显示单位,它与设备的显示屏有关。一般来说,同样尺寸的屏幕(比如6英寸手 机),如果看起来越清晰,则表示像素密度越高,以px计量的分辨率也越大。

2.dp dp有时也写作dip,指的是与设备无关的显示单位,它只与屏幕的尺寸有关。一般来说,同样尺寸的屏 幕以dp计量的分辨率是相同的,比如同样是6英寸手机,无论它由哪个厂家生产,其分辨率换算成dp单 位都是一个大小。

3.sp sp的原理跟dp差不多,但它专门用来设置字体大小。手机在系统设置里可以调整字体的大小(小、标 准、大、超大)。设置普通字体时,同数值dp和sp的文字看起来一样大;如果设置为大字体,用dp设置 的文字没有变化,用sp设置的文字就变大了。 字体大小采用不同单位的话,显示的文字大小各不相同。例如,30px、30dp、30sp这3个字号,在不同 手机上的显示大小有所差异。有的手机像素密度较低,一个dp相当于两个px,此时30px等同于15dp; 有的手机像素密度较高,一个dp相当于3个px,此时30px等同于10dp。假设某个App的内部文本使用字 号30px,则该App安装到前一部手机的字体大小为15dp,安装到后一部手机的字体大小为10dp,显然 后一部手机显示的文本会更小。 至于dp与sp之间的区别,可通过以下实验加以观察。首先创建测试活动页面,该页面的XML文件分别声 明30px、30dp、30sp这3个字号的TextView控件,布局内容如下所示: 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:padding="5dp"
     android:orientation="vertical">
         <TextView
             android:id="@+id/tv_px"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="你好,世界(px大小)"
             android:textSize="30px" />
         <TextView
             android:id="@+id/tv_dp"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="你好,世界(dp大小)"
             android:textSize="30dp" />
         <TextView
             android:id="@+id/tv_sp"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="你好,世界(sp大小)"
             android:textSize="30sp" />
 </LinearLayout>

 

posted on 2024-10-08 13:42  leapss  阅读(22)  评论(0)    收藏  举报