
回复
Text组件是HarmonyOS重要组件之一,是用来显示字符串的组件,在界面上显示为一块文本区域。很多组件都是继承了这个组件用以显示文字使用的,如Button等。
java.lang.Object
|—ohos.agp.components.Component
|—|—ohos.agp.components.Text
手机 | 平板 | 智慧屏 | 智能穿戴 |
---|---|---|---|
支持 | 支持 | 支持 | 支持 |
在工程layout目录下的xml布局文件中创建Text
ability_main.xml布局文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<DependentLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent">
<Text
ohos:id="$+id:main_ability_title_text"
ohos:height="match_content"
ohos:width="match_content"/>
</DependentLayout>
在AbilitySlice中的引用
Text text = (Text) findComponentById(ResourceTable.Id_main_ability_title_text);
通常都是使用布局XML方式创建,极少数使用代码方式进行创建。如果想使用代码方式创建Text,需要使用Context参数的构造函数。
Text text = new Text(Context context);
特别说明:
用代码方式创建的Text需要配合布局控件使用,在想要加入的布局控件中添加创建的Text组件用以显示。
我们还是使用刚才的布局xml文件ability_main.xml,在之前的DependentLayout布局里加一个id方便java代码引用,
<?xml version="1.0" encoding="utf-8"?>
<DependentLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:id="$+id:main_ability_dp"
ohos:height="match_parent"
ohos:width="match_parent">
</DependentLayout>
然后在AbilitySlice中引用这个布局,得到这个布局的对象
DependentLayout main_ability_dp = (DependentLayout) findComponentById(ResourceTable.Id_main_ability_dp);
将代码创建的Text控件添加到布局中
Text textInfo = new Text(this);
main_ability_dp.addComponent(textInfo);
this表示当前这个AbilitySlice对象,此对象中包含Context,故而将它作为参数传入Text的构造函数中,以得到Text的实例对象。