Android 简单控件--1.文本显示

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


1设置文本内容

设置文本内容有两种方式;
在XML文件中通过属性android:text设置文本;
在Java 代码中调用文本视图对象的 setText方法设置文本;

引用字符串资源
在XML文件中引用(@string/** );
在Java代码中引用(R.string.** );

在xml文件设置文本内容

在这里插入图片描述

在这里插入图片描述

二,在MainActivity的Java文件设置

在这里插入图片描述

在这里插入图片描述

2设置文本大小

在Java代码中调用setTextSize方法,即可指定文本大小。

在XML文件中则通过属性 android:textSize 指定文本大小,此时需要指定字号单位。

px:它是手机屏幕的最小显示单位,与设备的显示屏有关。
dp:它是与设备无关的显示单位,只与屏幕的尺寸有关。
sp:它专门用来设置字体大小,在系统设置中可以调整字体大小。

在Java中设置

在这里插入图片描述
默认sp

原来文本大小存在不同的字号单位,XML文件要求在字号数字后面写明单位类型,常见的字号单位主要有px、dp、5p 3种,分别介绍如下。

  1. px
    px是手机屏幕的最小显示单位,它与设备的显示屏有关。一般来说,同样尺寸的屏幕(比如6英寸手机),如果看起来越清晰,则表示像素密度越高,以px计量的分辨率也越大。
  2. dp
    dp有时也写作dip,指的是与设备无关的显示单位,它只与屏幕的尺寸有关。一般来说,同样尺寸的屏幕以dpit量的分辨率是相同的,比如同样是6英寸手机,无论它由哪个厂家生产,其分辨率换算成dp单位都是一个大小。
    3.sp
    p的原理跟dp差不多,但它专门用来设置字体大小。手机在系统设置里可以调整字体的大小(小、标准、大、超大)。设置普通字体时,同数值dp和sp的文字看起来一样大;如果设置为大字体,用dp设置的文字没有变化,用sp设置的文字就变大了。
    字体大小采用不同单位的话,显示的文字大小各不相同。例如,30px、30dp、30sp这3个字号,在不同手机上的显示大小有所差异。有的手机像素密度较低,一个dp相当于两个px,此时30px等同于15dp;有的手机像素密度较高,一个dp相当于3个px,此时30px等同于10dp。假设某个App的内部文本使用字号30px,则该App安装到前一部手机的字体大小为15dp,安装到后一部手机的字体大小为10dp,显然后一部手机显示的文本会更小。
pub1ic void setTextsize(
float sizei
setTextsize(Typedvalue.cOMPLEX_UNIT_SP, size;

}


原来纯数字的setTextSize方法,内部默认字号单位为sp (COMPLEX_UNIT_SP),这也从侧面印证了之前的说法: sp才是Android推荐的字号单位。



补充
名称
解释
px (Pixel像素)
也称为图像元素,是作为图像构成的基本单元,单个像素的大小并不固定,跟随屏幕大小和像素数量的关系变化,一个像素点为1px。
Resolution(分辨
是指屏幕的垂直和水平方向的像素数量,如果分辨率是1920*1080,那就是垂直方向有1920个像素,水平
率)
方向有1080个像素。
Dpi(像素密度)
是指屏幕上每英寸(1英寸=2.54厘米)距离中有多少个像素点。
Density(密度)
是指屏幕上每平方英寸(2.542平方厘米)中含有的像素点数量。
Dip / dp(设备独立
也可以叫做dp,长度单位,同一个单位在不同的设备上有不同的显示效果,具体效果根据设备的密度有关,详
像素)


细的公式请看下面。
计算规则
我们以一个4.95英寸1920 * 1080 的nexus5手机设备为例:Dpi :
1.计算直角边像素数量:1920^2+10802=2202^2(勾股定理)2.计算DPI:220214.95= 4453.得到这个设备的DPI为445(每英寸的距离中有445个像素)Density
上面得到每英寸中有440像素,那么density为每平方英寸中的像素数量,应该为:4452=198025,Dip
所有显示到屏幕上的图像都是以 p×为单位,Dip是我们开发中使用的长度单位,最后他也需要转换成 px,计算这个设备上1dip等于多少px:
px = dip x dpi /160根据换算关系:
320 x480分辨率,3.6寸的手机:dpi为1601dp=1px

实验一
相同分辨率,不同大小的手机AB:
代号
分辨率
尺寸
dpi
dp
手机A
320x480
3.6160
1dp=1px
I
手机B
320x480
7.280
1dp=0.5px

假如AB都设置一个宽度为100dp的TextView:
代号
Textview宽度
手机宽度
比例关系
手机A
100px
320px
10/32
手机B
5opx
320px
5/32
得出结论:
对于相同分辨率的手机,屏幕越大,同DP的组件占用屏幕比例越小。
c


在这里插入图片描述
如图
在这里插入图片描述

在这里插入图片描述

设置文本颜色

在Java代码中调用setTextColor方法即可设置文本颜色,具体色值可从 Color类取。
心
Color类中的颜色类型
说明
Color类中的颜色类型
说明
BLACK
黑色
GREEN
绿色
DKGRAY
深灰
BLUE
蓝色
GRAY
灰色
YELLOw
黄色
LTGRAY
浅灰
CYAN
青色
WHITE
白色
MAGENTA
玫红
RED
红色
TRANSPARENT
透明

在这里插入图片描述

在这里插入图片描述

颜色定义

RGB颜色定义
在XML文件中则通过属性android:textColor指定文本颜色,色值由透明度alpha和RGB三原色(红色red、绿色green、蓝色blue)联合定义。
》色值有八位十六进制数与六位十六进制数两种表达方式,例如八位编码FFEEDDCC中,FF
表示透明度,EE表示红色的浓度,DD表示绿色的浓度,CC表示蓝色的浓度。
透明度为FF表示完全不透明,为00表示完全透明。RGB三色的数值越大,表示颜色越浓,也就越亮;数值越小,表示颜色越淡,也就越暗。

在这里插入图片描述

TextView tv_code_system = findViewById(R.id.tv_code_system) ;//将tv_code_system的文字颜色设置系统自带的绿色
tv_code_system.setTextColor(Color.GREEN);
//从布局文件中获取名叫tv_code_eight的文本视图
TextView tv_code_eight = findViewById (R.id.tv_code_eight);//将tv_code_eight的文字颜色设置为不透明的绿色,即正常的绿色
tv_code_eight.setTextColor (0xff00ff00) ;



//从布局文件中获取名叫tv_code_six的文本视图
Textview tv_code_six = findViewById(R.id.tv_code_six);//将tv_code_six的文字颜色设置为透明的绿色,透明就是看不到tv_code_six.setTextColor(Ox00ff00) ;
//从布局文件中获取名叫tv_code_background的文本视图
TextView tv_code_background = findViewById (R.id.tv_code_background) ;//将tv_code_background的背景颜色设置为绿色
tv_code_background.setBackgroundColor(Color.GREEN)//颜色来源于资源文件
tv code backaround.setBackaroundResource (R.color.green) ;

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

猜你喜欢

转载自blog.csdn.net/m0_53142039/article/details/125697114
今日推荐