android 按像素配置布局 安卓手机怎么设置像素

您所在的位置:网站首页 安卓手机字体大小怎么设置 android 按像素配置布局 安卓手机怎么设置像素

android 按像素配置布局 安卓手机怎么设置像素

2024-06-09 08:47| 来源: 网络整理| 查看: 265

设置文本字体大小的方式

在Java代码中通过调用 文本视图对象的setTextSizeI()方法在xml文件中通过android:textSize属性设置字体大小,此时需要指定字号单位注:Android在布局文件中字号单位通常用sp。

尺寸单位相关知识补充

像素(Pixel):又称为图像元素,是构成图像的基本单元,一个像素的大小无法确定,根据屏幕尺寸和像素数量的关系变化,一个像素点为1px。

分辨率(Resolution):分辨率指屏幕垂直和水平方向上的像素数量,如果分辨率是1920*1080,就代表垂直方向上有1920个像素,水平方向上有1080个像素。

像素密度Dpi:像素密度指屏幕上每英寸有多少个像素点。(1英寸=2.54厘米)。

假如一台手机的屏幕尺寸为4.95英寸,屏幕分辨率为1920*1080,则这台手机的Dpi计算如下:

计算屏幕对角线像素数量: 1920^2+1080^2=2202^2。4.95英寸指的是屏幕对角线长度,计算Dpi:2202 / 4.95 = 445。这个设备的像素密度Dpi为 445,即每英寸的距离中有 445个像素点。

独立像素Dip/dp:dip是长度单位,相同的单位长度在不同屏幕上显示效果不同,跟屏幕像素密度有关。

sp:sp的原理跟dp差不多,但它专门用来设置字体大小。在系统设置里可以调整字体的大小(小、标准、大、超大)。设置普通字体时,同数值dp和sp的文字看起来一样大;如果设置为大字体,用dp设置的文字没有变化,用sp设置的文字就变大了。

  在java代码中设置文本大小:

 

TextView tv_hello = findViewById(R.id.tv_hello); tv_hello.setTextSize(30);//java代码中设置文本字体大小不用写单位,系统默认单位是sp

 

所有显示到屏幕上的图像都是以px作为单位的,dip是我们开发过程中使用的长度单位,最后也会转换为px。一台设备上dip跟px的换算关系为

px = Dpi/160  * dip          

根据换算关系:一台3.6寸,分辨率为320*480的手机,其像素密度dpi为160,在这台手机上1px = 1dip。

为什么要有Dip呢,我们来看两个实验

结论:dp的UI效果只在相同尺寸的屏幕上相同,如果屏幕尺寸相差过大,则需要做dp适配

实验一

相同分辨率,不同尺寸的两台手机A和B    

代号

分辨率

尺寸

dpi

dp

手机A

320*480

3.6寸

160

1dp = 1px

手机B

320*480

7.2寸

80

1dp = 0.5px

 

如果通过代码设置一个宽度为100dp的TextView

代号

通过代码设置的宽度

在手机上实际显示的宽度

屏幕宽度

比例关系

手机A

100dp

100px

320px

10:32

手机B

100dp

50px

320px

5:32

得到结论:相同分辨率的不同手机,屏幕越大,通dp组件占用屏幕比例越小,如图

android 按像素配置布局 安卓手机怎么设置像素_像素点

android 按像素配置布局 安卓手机怎么设置像素_像素点_02

实验二

相同尺寸,不同分辨率的两台手机A和B 

代号

分辨率

尺寸

dpi

dp

手机A

320*480

3.6寸

160

1dp = 1px

手机B

640*960

3.6寸

320

1dp = 2px

 如果通过代码设置一个宽度为100dp的TextView

代号

通过代码设置的宽度

在手机上实际显示的宽度

屏幕宽度

比例关系

手机A

100dp

100px

320px

10:32

手机B

100dp

200px

640px

10:32

得到结论:对于相同尺寸的手机,即使分辨率不同,同dp组件所占屏幕比例相同,如图

android 按像素配置布局 安卓手机怎么设置像素_android 按像素配置布局_03

android 按像素配置布局 安卓手机怎么设置像素_像素点_04

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3