当前位置: 首页 > 科技观察

HarmonyOS实战—Text组件的三个宽高值的写法和颜色属性

时间:2023-03-13 00:24:27 科技观察

更多内容请访问:Harmonyos技术社区https://harmonyos.51cto.com与华为官方共建)概述:文本(Text)是用来显示字符串的组件,在界面上显示为文本区域。仅作为展示数据使用,用户无法在App中修改文本组件中的内容。Text组件是最基本的组件,其他的子类组件后面会学习到,比如Button、TextField都是从这个类派生出来的。右边的登录页面,用户名和密码是文本框实现的文本框用到的一些属性:常用属性:这些属性不用死记硬背,熟悉了就知道了。如果要设置文字,如果忘记了属性,可以直接在注释里找,也可以在华为开发者文档里找。地址:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-java-component-text-00000010507295341.1宽高属性match_context:表示文本框的内容有多大,如何big文本框本身就是,所有包裹的内容match_parent:文本框外面的布局其实就是文本框的父元素。简单理解:谁把文本框包裹起来,谁就是文本框的父元素。具体数值:单位是像素(px)1.2长度单位(像素px)2K屏或者4K屏通常指的是最大分辨率。例如:2K屏幕由width:1920个小格子和height:1080个小格子组成组成手机的分辨率2.宽高三个值怎么写2.1宽高:match_content2.2宽高:match_parent,覆盖整个父元素2.3宽高:具体值具体值,如果没有单位,默认为像素(px),例如:设置宽高为200px200px只能显示200像素,如果文字内容无法显示,最多显示200px,其余不显示。3、vp、fp的详细说明长度单位:px、vp、fp。dp(Android中的单位,与鸿蒙中的vp相同)vp(虚拟像素)长度单位px像素表示一个硬编码的固定大小,所有分辨率下所有长度固定如下:在较小的下固定大小的组件屏幕不会显示。鸿蒙手机可以挂载其他设备,无法确定其他设备的分辨率。所以,以后定义大小时,如果需要写具体的值,最好不要用单位。使用pixelspx,pixels会导致组件的大小固定。3.1长度单位(virtualpixelvp)有没有一种单位可以根据手机尺寸灵活指定宽高?vp屏幕的尺寸也是斜着测的,假设:6英寸PPI=2202.9/6≈367.15,也就是说手机每英寸有367.15个像素点。如果这个手机组件的宽度设置为:100px,那么vp就可以根据上面的公式计算出来。一旦单位为:vp,在手机显示的时候,会根据手机本身的分辨率和手机本身的尺寸,可以灵活的指定组件的宽高,这样不同的手机在显示相同的界面时,尽量保持相同的风格。计算对角线像素有点麻烦。数字和屏幕尺寸,因此行业内有一个默认标准。默认标准可以帮助我们进行快速转换。计算出的结果不是最准确的结果,而是一个近似值,但近似值会影响和影响使用或显示。不是很大。3.2fp(字体大小)vp和fp的计算方法相同。vp是长度单位,用于宽度、高度等。fp是尺寸单位,用于字体大小(类似于Android中的sp)。比如40fp。4.测试px和vp来指定宽度和高度之间的差异。打开模拟器,进行单位换算。P40:1080*2340和上面的1920*1080类似,所以可以用1:3的关系来表示ability_main.xml的显示内容是数字:12,上面的文字大小用px表示,lowerText用vp和fp表示,按照1:3的大小运行:组件大小差不多,所以以后fp字号单位指定宽高和字号时可以用vp和fp。fp=vp如果缩放则不缩放。1fp=1vp*缩放比例如果不指定单位,默认单位为px5。前面的代码中,颜色属性都是用英文单词表示的,有一定的局限性。下面可以用#16来表示5.1艺术中的红、黄、蓝三基色可以组合成五颜六色的颜色。计算机中也有三基色,分别是:红、绿、蓝,称为光学三基色。计算机中的每个像素由红、绿、蓝三部分组成。屏幕放大后:红、绿、蓝各组成的整体其实就是一个像素点,很多像素点在一起就构成了一幅完整的画面。在计算机中,可以通过三种颜色(红、绿、蓝)的组合形成五颜六色的颜色。如何将这三种颜色组合在一起,创造出多种多样的色彩呢?为这三种颜色设置不同的值。值越大,当前颜色越浓,值越小,当前颜色越浅。如果红色的值设置为:43,蓝色:123,绿色:194,那么可以这样理解,用43份红色素,123份绿色素,194份蓝色素,混合后一起,颜色穿过三种原色。通过搭配可以形成各种颜色。如果设置为255,则表示当前颜色集最强。设置为0,表示当前颜色也可以用16进制表示,而10进制的255对应FF,所以16进制最大为FF,布局可以写成三基色的形式。ability_main不能写成xml中的十进制,十六进制下只能写#917643,即91表示红色,76表示绿色,43表示蓝色颜色的设置也可以给他设置透明度,把透明度写在颜色前面,比如:前面加00,颜色就在left会消失,说明当前颜色是纯色在transparent前面设置FF,说明FF表示不透明。如果要在颜色前面设置透明度,可以这样写。与之前的棕色相比,稍微淡了一点。引申:写三原色时,可以省略。条件是:当三组颜色中的两个值都相同时,比如:#1188DD,11,88,DD都是相同的值可以写成:这是的简写方式写作。但是如果是这种情况,就不能这么简单的写了,比如:#11881D,必须三组颜色的值都一样,才可以简单的写。5.2颜色特性部分计算机中的颜色采用光学三基色。它们是:red(红)、green(绿)、blue(蓝)。计算机中的三原色也称为RGB。可以写成小数形式。(255,255,255)也可以写成十六进制形式。(#FFFFFF)透明度可以写在颜色前面。(#FFFFFFFF)(#00FFFFFF)十六进制表示可以省略。(#18D),(缩写时不能加透明)十六进制表示法中,不足6位的,补全6位。#5901(前面加0,满足6位,不利于阅读)代码中创建的RGB对象一般都是采用十进制。xml文件中设置的颜色采用十六进制。更多信息请访问:Harmonyos.51cto.com,与华为官方合作打造的鸿蒙技术社区