文本組件是我們最常用的組件之一,它是用來在UI界面上顯示字符串 。作為基本組件,有很多擴展,常見的有按鈕組件Button、文本編輯組件TextFiled、計時器組件TickTimer,它們都是Text組件的擴展(也稱為Text的子類) 。
Text(文本組件)是Component類的子類之一,所以它能夠使用Component類的所有公開的屬性和方法(后面章節會詳細介紹該類) , Text類自身也提供了一些特殊的屬性、方法、內部類和接口 。
1、從源代碼入手閱讀官方的Java API文檔看結構不是很清晰,所以我們在DevEco中查看源代碼 。
/** * 繼承Component類 */public class Text extends Component {}這里我們說一下如何查看類的繼承關系,由于DevEco是基于開源的社區版 , 它是沒有Diagrams功能的,我們可以使用第二種方法Navigate --> Type Hierarchy(或者F4)來查看關系圖 。
文章插圖
文章插圖
我們可以點擊DevEco界面左側選項卡Structure查看類中詳細結構,我們可以看到Text自身提供了很多屬性和方法 , 同時也繼承父類的很多屬性和方法 。
文章插圖
/** * 默認構造函數 *用于使用默認屬性和樣式創建文本實例 * @param context */public Text(Context context) {}/** * 提供了用于在XML解析后使用指定的屬性集合和默認樣式創建文本實例的構造函數 * @param context * @param attrSet */public Text(Context context, AttrSet attrSet) {}/** * 提供了用于在XML解析后使用指定的屬性集和指定的樣式創建文本實例的構造函數 * @param context * @param attrSet * @param styleName */public Text(Context context, AttrSet attrSet, String styleName) {}我們在代碼中要給布局添加組件時,需要先創建組件對象 。使用默認的構造函數創建Text對象,后面兩種構造函數我們這里不做過多說明,這兩種是用于自定義組件時使用的,后面自定義組件小節中會詳細介紹 , 期待吧 。//創建Text對象Text text = new Text(this);我們可以在Structure中看到Text類有很多屬性,比如設置文本內容的text屬性、設置文本內容顏色的textColor屬性、設置文本內容字體大小的textSize屬性,及設置文本內容字體的font屬性等 。也有繼承自父類的屬性,比如設置文本寬度的width屬性、設置文本高度的height屬性等 。//1. 創建Text對象Text text = new Text(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目錄(目錄下的文件就是布局資源),然后在該目錄下創建布局資源文件(后綴為.xml),然后在XML中聲明布局和組件 。
<!--xml文件--><?xml version="1.0" encoding="utf-8"?><DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:orientation="vertical"><Textohos:id="$+id:text_helloworld"ohos:height="match_parent"ohos:width="match_parent"ohos:layout_alignment="horizontal_center"ohos:text="我是在XML中聲明的Text 。"ohos:text_size="50"/></DirectionalLayout>//在AbilitySlice的onStart方法中設置界面入口,這里指定頁面在內存中的地址super.setUIContent(ResourceTable.Layout_ability_text_xml);文章插圖
2、常用屬性和方法
到這里我們已經對Text有了大致的了解,對兩種編寫布局的方式也有了大致的了解 。Text有很多屬性和方法 , 我們在這里給大家列出常用的幾個屬性和方法 。
Text常用屬性
Java XML 描述
autoFontSize ohos:auto_font_size 設置是否自動調整字體大小以填充組件 。
font ohos:text_font 設置文本字體
maxTextLines ohos:max_text_lines 設置文本視圖中允許的最大行數
multipleLine ohos:multiple_line 設置文本是否在文本視圖中多行顯示
【3 text什么意思】scrollable ohos:scrollable 設置文本是否可滾動
text ohos:text 設置文本內容
textAlignment ohos:text_alignment 設置文本視圖中文本的對齊方式
textColor ohos:text_color 設置文本視圖中文本的顏色
textSize ohos:text_size 設置文本視圖中文本字體大小
truncationMode ohos:truncation_mode 當文本內容超過組件的寬度時 , 設置截斷模式
Text常用方法
方法名稱 描述
append(String str) 將字符串追加到文本視圖中的現有文本
<Textohos:id="$+id:text_helloworld"ohos:height="match_content"ohos:width="match_content"ohos:text="我是在XML中聲明的Text 。"ohos:text_size="50fp"/><Textohos: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"/><Textohos:height="match_content"ohos:width="match_content"ohos:text="Text Font"ohos:text_size="50fp"ohos:text_font="serif"/>//2. 自動調整字體大小Text text_auto_font_size = (Text) findComponentById(ResourceTable.Id_text_auto_font_size);text_auto_font_size.setClickedListener(l -> {text_auto_font_size.append("T");});文章插圖
- 什么食物是堿性的
- 豬肝湯的功效與作用
- 走地雞是什么梗 走地雞是啥梗
- 逆商指的什么 逆商指的啥
- 海桿掛什么餌好 海竿串鉤掛什么餌料好
- 女生說巴適是什么意思 女生說巴適是啥意思
- 投行是什么 投行是啥
- 結婚紀念日送什么禮物給老公 結婚紀念日可以送哪些禮物給老公
- 網絡流行語無感是啥意思 網絡流行語無感的意思
- 4g是什么意思 4g是什么
