代码拉取完成,页面将自动刷新
扩展TextView,使其可以展开和点击跳转
本项目是基于开源项目ExpandableTextView进行harmonyos化的移植和开发的,可以通过项目标签以及 github地址
移植版本:源master v1.6.1版本
ExpandTextView是多行文本缩略组件,主要实现功能如下:
(1)类似微博@好友功能,对@内容进行高亮显示,可点击;
(2)实现链接的高亮显示,可以点击,并且对链接进行原文隐藏;
(3)实现内容超过指定行数折叠效果,点击可以展开内容;
(4)在原文内容未尾添加指定内容,比如时间串;
(5)自定义高亮规则,实现自定义位置点击
(6)列表组件中可记住展开和收回状态;
可固定展开和回收按钮在最右边或紧贴内容后边
注:p40虚拟机无法正常显示。真机和虚拟机mate30可以正常显示
未移植部分:
设置链接图标: ohos暂无此类api
可以先下载项目,将项目中的expandabletextviewlibrary库提取出来放在所需项目中通过build配置
dependencies {
implementation project(":expandabletextviewlibrary")
}
buildscript {
repositories {
...
mavenCentral()
}
...
}
allprojects {
repositories {
...
mavenCentral()
}
}
dependencies {
implementation 'com.gitee.ts_ohos:expandabletextviewlibrary:1.0.0'
}
<com.ctetin.expandabletextviewlibrary.ExpandableTextView
ohos:id="$+id:ep_09"
ohos:height="match_content"
ohos:width="match_parent"
ohos:margin="15vp"
ohos:additional_line_spacing="4vp"
ohos:multiple_lines="true"
ohos:text_size="14fp"
ohos:text_color="#333333"
app:ep_max_line="5"
app:ep_need_contract="true"
app:ep_need_expand="true"
app:ep_need_self="true" />
// 需要先开启始终靠右显示的功能
views[8].setNeedAlwaysShowRight(true);
// 点击高亮点击事件
views[8].setLinkClickListener(linkClickListener);
//监听是否初始化完成 在这里可以获取是否支持展开/收回
views[10].setOnGetLineCountListener(new ExpandableTextView.OnGetLineCountListener() {
@Override
public void onGetLineCount(int lineCount, boolean canExpand) {
new ToastDialog(getContext()).setText("行数:" + lineCount + " 是否满足展开条件:" + canExpand).setAlignment(LayoutAlignment.CENTER).show();
}
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。