1.实现自动调节大小
layout文件下ability_main的xml代码:
<?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:orientation="vertical"> <Text ohos:id="$+id:text1" ohos:height="match_content" ohos:width="90vp" ohos:background_element="$graphic:background_ability_main" ohos:text="S" ohos:text_size="40vp" ohos:auto_font_size="true" ohos:text_color="#f38" ohos:text_weight="700" ohos:multiple_lines="true" ohos:max_text_lines="1" ohos:text_font="serif" ohos:italic="true" ohos:right_padding="8vp" ohos:left_padding="8vp" ohos:text_alignment="center" ohos:layout_alignment="horizontal_center" /> </DirectionalLayout>
定义了一个Text文本
MainAbilitySlice的onStart方法代码:
public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); Text text = (Text)findComponentById(ResourceTable.Id_text1); text.setAutoFontSizeRule(30,100,1); text.setClickedListener(component -> { text.setText(text.getText()+"T"); }); }
效果
2.跑马灯效果
当文本过长时,可以设置跑马灯效果,实现文本滚动显示。前提是文本换行关闭且最大显示行数为1,默认情况下即可满足前提要求。
xml代码
<?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:orientation="vertical"> <Text ohos:id="$+id:text1" ohos:height="match_content" ohos:width="75vp" ohos:background_element="$graphic:background_ability_main" ohos:text="supersuper" ohos:text_size="30fp" ohos:text_color="#f38" ohos:text_weight="700" ohos:text_font="serif" ohos:italic="true" ohos:right_padding="8vp" ohos:left_padding="8vp" ohos:text_alignment="center" ohos:layout_alignment="horizontal_center" /> </DirectionalLayout>
MainAbilitySlice的onStart方法代码
public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); Text text = (Text)findComponentById(ResourceTable.Id_text1); text.setTruncationMode(Text.TruncationMode.AUTO_SCROLLING); text.setAutoScrollingCount(Text.AUTO_SCROLLING_FOREVER); text.startAutoScrolling(); text.setClickedListener(component -> { text.setText(text.getText()+"T"); }); }
效果