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

鸿蒙#2020目文-TV#3.1.1文本组件-Text

时间:2023-03-19 16:06:48 科技观察

更多内容请访问:与华为共建的Harmonyos技术社区https://harmonyos.51cto.com/#zzText组件是我们最擅长的组件之一常用组件,用于在UI界面上显示字符串。作为一个基础组件,有很多扩展,比如按钮组件Button、文本编辑组件TextFiled、定时器组件TickTimer,都是对Text组件(也叫Text的子类)的扩展。Text(文本组件)是Component类的子类之一,所以它可以使用Component类的所有公共属性和方法(后面的章节会详细介绍这个类),Text类本身也提供了一些特殊的属性、方法、内部类和接口。1.从源码入手阅读官方的JavaAPI文档看结构不是很清晰,所以我们在DevEco中查看源码。/***InheritComponentclass*/publicclassTextextendsComponent{}这里说说如何查看类的继承关系。由于DevEco是基于开源社区版本,所以没有Diagrams的功能。我们可以使用第二种方法Navigate-->TypeHierarchy(或F4)来查看关系图。我们可以点击DevEco界面左侧的Structure选项卡,查看类的详细结构。我们可以看到Text本身提供了很多属性和方法,也继承了父类的很多属性和方法。/***默认构造函数*用于创建具有默认属性和样式的文本实例*@paramcontext*/publicText(Contextcontext){}/***提供一组属性和默认样式用于XML解析后创建的构造函数文本实例*@paramcontext*@paramattrSet*/publicText(Contextcontext,AttrSetattrSet){}/***提供构造函数,用于在XML解析后创建具有指定属性集和指定样式的文本实例*@paramcontext*@paramattrSet*@paramstyleName*/publicText(Contextcontext,AttrSetattrSet,StringstyleName){}当我们想在代码中为布局添加组件时,需要先创建组件对象。使用无聊的构造函数来创建Text对象。后两个构造函数这里不做过多解释。这两个在自定义组件的时候用到。后面的自定义组件部分会详细介绍它们。对此期待。//创建一个文本对象Texttext=newText(this);我们可以看到Text类在Structure中有很多属性,比如设置文本内容的text属性,设置文本内容颜色的textColor属性,设置文本内容字体大小的textSize属性。以及设置文字内容的字体的font属性等。还有继承自父类的属性,比如设置文字宽度的width属性,设置文字高度的height属性等等。//1。创建一个文本对象Texttext=newText(this);//2.设置文本内容的宽高text.setWidth(ComponentContainer.LayoutConfig.MATCH_PARENT);text.setHeight(ComponentContainer.LayoutConfig.MATCH_PARENT);//3.设置显示内容text.setText("我在代码中创建了Text。");//4.设置文字大小text.setTextSize(50,Text.TextSizeType.FP);//5.设置文字颜色text.setTextColor(Color.BLUE);//6.将组件添加到布局layout.addComponent(text);我们可以启动我们的模拟器,看看界面中是否显示了我们设置的文本内容。当然,组件不仅仅是用来展示的,我们还可以给组件添加监听事件,实现交互效果,比如我们点击界面中的文字内容,可以展示其他内容。我们现在使用代码构建UI界面。当然,官方也为我们提供了在代码中用XML声明布局,添加组件,设置界面入口。你只需要指定它在内存中的地址。如果我们要监控组件,我们需要指定它在内存中的地址,然后创建一个对象来完成监控操作。在resources-->base目录下创建layout目录(该目录下的文件为layout资源),然后在该目录下创建一个layout资源文件(后缀为.xml),然后在xml中声明layout和components。xmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:orientation="vertical">ohos:id="$+id:text_helloworld"ohos:height="match_parent"ohos:width="match_parent"ohos:layout_alignment="horizo??ntal_center"ohos:text="我是XML中声明的Text。"ohos:text_size="50"/>//中的接口入口设置在AbilitySlice的onStart方法中,这里指定页面在内存中的地址super.setUIContent(ResourceTable.Layout_ability_text_xml);2.常用属性和方法到这里我们对Text有了一个大概的了解,对两种写布局的方法也有了一个大概的了解。Text有很多属性和方法,这里我们为大家列举几个常用的属性和方法。文本常用属性文本常用方法ohos:id="$+id:text_helloworld"ohos:height="match_content"ohos:width="match_content"ohos:text="我在XML中声明了Text。"ohos:text_size="50fp"/>ohos:id="$+id:text_auto_font_size"ohos:height="match_content"ohos:width="match_content"ohos:text="T"ohos:text_size="50fp"ohos:auto_font_size="true"/>ohos:height="match_content"ohos:width="match_content"ohos:text="TextFont"ohos:text_size="50fp"ohos:text_font="serif"/>//2.自动调整字体大小Texttext_auto_font_size=(Text)findComponentById(ResourceTable.Id_text_auto_font_size);text_auto_font_size.setClickedListener(l->{text_auto_font_size.append("T");});免责声明:码字不易,转载请注明出处,系列图文仅供学习使用,请勿用于商业用途。如因转载作品引起知识产权或其他法律纠纷,一切后果由转载者自行承担,与本人无关!查看更多资料请访问:与华为官方共建鸿蒙技术社区https://harmonyos.51cto.com/#zz