自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

鴻蒙#2020征文-TV# 3.1.1 文本組件 - Text

系統(tǒng)
文本組件是我們最常用的組件之一,它是用來在UI界面上顯示字符串。作為基本組件,有很多擴展,常見的有按鈕組件Button、文本編輯組件TextFiled、計時器組件TickTimer,它們都是Text組件的擴展(也稱為Text的子類)。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區(qū)

https://harmonyos.51cto.com/#zz

文本組件是我們最常用的組件之一,它是用來在UI界面上顯示字符串。作為基本組件,有很多擴展,常見的有按鈕組件Button、文本編輯組件TextFiled、計時器組件TickTimer,它們都是Text組件的擴展(也稱為Text的子類)。

Text(文本組件)是Component類的子類之一,所以它能夠使用Component類的所有公開的屬性和方法(后面章節(jié)會詳細介紹該類),Text類自身也提供了一些特殊的屬性、方法、內部類和接口。

1、從源代碼入手

閱讀官方的Java API文檔看結構不是很清晰,所以我們在DevEco中查看源代碼。

  1. /** 
  2.  
  3. * 繼承Component類 
  4.  
  5. */ 
  6.  
  7. public class Text extends Component {} 

 這里我們說一下如何查看類的繼承關系,由于DevEco是基于開源的社區(qū)版,它是沒有Diagrams功能的,我們可以使用第二種方法Navigate --> Type Hierarchy(或者F4)來查看關系圖。

我們可以點擊DevEco界面左側選項卡Structure查看類中詳細結構,我們可以看到Text自身提供了很多屬性和方法,同時也繼承父類的很多屬性和方法。


  1. /** 
  2.  
  3. * 默認構造函數(shù) 
  4.  
  5. * 用于使用默認屬性和樣式創(chuàng)建文本實例 
  6.  
  7. * @param context 
  8.  
  9. */ 
  10.  
  11. public Text(Context context) {} 
  12.  
  13. /** 
  14.  
  15. * 提供了用于在XML解析后使用指定的屬性集合和默認樣式創(chuàng)建文本實例的構造函數(shù) 
  16.  
  17. * @param context 
  18.  
  19. * @param attrSet 
  20.  
  21. */ 
  22.  
  23. public Text(Context context, AttrSet attrSet) {} 
  24.  
  25. /** 
  26.  
  27. * 提供了用于在XML解析后使用指定的屬性集和指定的樣式創(chuàng)建文本實例的構造函數(shù) 
  28.  
  29. * @param context 
  30.  
  31. * @param attrSet 
  32.  
  33. * @param styleName 
  34.  
  35. */ 
  36.  
  37. public Text(Context context, AttrSet attrSet, String styleName) {} 

 我們在代碼中要給布局添加組件時,需要先創(chuàng)建組件對象。使用磨人的構造函數(shù)創(chuàng)建Text對象,后面兩種構造函數(shù)我們這里不做過多說明,這兩種是用于自定義組件時使用的,后面自定義組件小節(jié)中會詳細介紹,期待吧。

  1. //創(chuàng)建Text對象 
  2. Text text = new Text(this); 

我們可以在Structure中看到Text類有很多屬性,比如設置文本內容的text屬性、設置文本內容顏色的textColor屬性、設置文本內容字體大小的textSize屬性,及設置文本內容字體的font屬性等。也有繼承自父類的屬性,比如設置文本寬度的width屬性、設置文本高度的height屬性等。

  1. //1. 創(chuàng)建Text對象 
  2.  
  3. Text text = new Text(this); 
  4.  
  5. //2. 設置文本內容寬高 
  6.  
  7. text.setWidth(ComponentContainer.LayoutConfig.MATCH_PARENT); 
  8.  
  9. text.setHeight(ComponentContainer.LayoutConfig.MATCH_PARENT); 
  10.  
  11. //3. 設置顯示內容 
  12.  
  13. text.setText("我是在代碼創(chuàng)建的Text。"); 
  14.  
  15. //4. 設置文字大小 
  16.  
  17. text.setTextSize(50, Text.TextSizeType.FP); 
  18.  
  19. //5. 設置文字顏色 
  20.  
  21. text.setTextColor(Color.BLUE); 
  22.  
  23. //6. 添加組件到布局中 
  24.  
  25. layout.addComponent(text); 

 我們可以啟動一下我們的模擬器,查看是不是在界面中顯示了我們設置的文本內容。

當然組件不僅僅是做顯示使用的,我們還可以在組件上添加監(jiān)聽事件,來實現(xiàn)交互效果,比如我們點擊界面中的文字內容,讓它顯示成其他的內容。

 

我們現(xiàn)在使用的是代碼中構建UI界面,當然官方也給我們提供了在XML中聲明布局,添加組件,在代碼中設置界面入口只需要指定它在內存中的地址。如果我們要對組件進行監(jiān)聽,需要指定其在內存中的地址,然后創(chuàng)建對象完成監(jiān)聽操作。

在resources --> base目錄下創(chuàng)建layout目錄(目錄下的文件就是布局資源),然后在該目錄下創(chuàng)建布局資源文件(后綴為.xml),然后在XML中聲明布局和組件。

  1. xmlns:ohos="http://schemas.huawei.com/res/ohos" 
  2.  
  3. ohos:height="match_parent" 
  4.  
  5. ohos:width="match_parent" 
  6.  
  7. ohos:orientation="vertical"
  8.  
  9.  
  10. ohos:id="$+id:text_helloworld" 
  11.  
  12. ohos:height="match_parent" 
  13.  
  14. ohos:width="match_parent" 
  15.  
  16. ohos:layout_alignment="horizontal_center" 
  17.  
  18. ohos:text="我是在XML中聲明的Text。" 
  19.  
  20. ohos:text_size="50" 
  21.  
  22. /> 

  1. //在AbilitySlice的onStart方法中設置界面入口,這里指定頁面在內存中的地址 
  2.  
  3. super.setUIContent(ResourceTable.Layout_ability_text_xml); 

 

2、常用屬性和方法

到這里我們已經(jīng)對Text有了大致的了解,對兩種編寫布局的方式也有了大致的了解。Text有很多屬性和方法,我們在這里給大家列出常用的幾個屬性和方法。

Text常用屬性

Text常用方法

  1. ohos:id="$+id:text_helloworld" 
  2.  
  3. ohos:height="match_content" 
  4.  
  5. ohos:width="match_content" 
  6.  
  7. ohos:text="我是在XML中聲明的Text。" 
  8.  
  9. ohos:text_size="50fp" 
  10.  
  11. /> 
  12.  
  13.  
  14. ohos:id="$+id:text_auto_font_size" 
  15.  
  16. ohos:height="match_content" 
  17.  
  18. ohos:width="match_content" 
  19.  
  20. ohos:text="T" 
  21.  
  22. ohos:text_size="50fp" 
  23.  
  24. ohos:auto_font_size="true"/> 
  25.  
  26.  
  27. ohos:height="match_content" 
  28.  
  29. ohos:width="match_content" 
  30.  
  31. ohos:text="Text Font" 
  32.  
  33. ohos:text_size="50fp" 
  34.  
  35. ohos:text_font="serif"/> 
  36.  
  37. //2. 自動調整字體大小 
  38.  
  39. Text text_auto_font_size = (Text) findComponentById(ResourceTable.Id_text_auto_font_size); 
  40.  
  41. text_auto_font_size.setClickedListener(l -> { 
  42.  
  43. text_auto_font_size.append("T"); 
  44.  
  45. }); 

聲明:碼字不易,轉載請注明出處,系列圖文僅供學習使用,不可用于商用。因轉載作品引發(fā)的知識產(chǎn)權或其他法律糾紛的,轉載人須自行承擔一切后果,與本人無關!

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區(qū)

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關推薦

2020-12-09 11:53:24

鴻蒙開發(fā)HelloWord

2020-12-11 09:58:45

ShapeElemenXML自定義組件樣式

2020-12-23 11:45:27

鴻蒙HarmonyOSTextField組件

2020-12-04 12:22:03

鴻蒙UI組件

2020-12-28 11:19:06

鴻蒙HarmonyOSPage Abilit

2020-12-28 10:15:18

鴻蒙HarmonyOSListContain

2020-12-17 12:06:49

鴻蒙應用鴻蒙開發(fā)

2020-12-23 11:36:23

鴻蒙HarmonyOS應用程序開發(fā)

2012-01-17 13:16:34

JavaSwing

2020-12-22 11:09:20

鴻蒙Feature AbiAbilitySlic

2020-12-22 09:48:18

鴻蒙HarmonyOS應用程序

2021-08-11 09:32:12

鴻蒙HarmonyOS應用

2020-12-23 11:24:34

鴻蒙開發(fā)IDE安裝

2014-03-27 15:34:55

Android組件Activity

2022-03-17 16:04:16

Text文本組件Button組件Column

2020-12-29 09:59:01

鴻蒙HarmonyOS智能家居

2020-12-14 09:58:28

鴻蒙HarmonyOS手表游戲

2020-12-11 12:27:35

鴻蒙HarmonyOS

2020-04-19 17:14:17

服務器監(jiān)控數(shù)據(jù)中心

2020-12-16 10:05:48

鴻蒙開發(fā)板Onenet平臺
點贊
收藏

51CTO技術棧公眾號