1 Star 4 Fork 0

CHINASOFT_OHOS / SHSegmentControl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

SHSegmentControl

项目介绍

  • 项目名称:SHSegmentControl
  • 所属系列:openharmony 第三方组件适配移植
  • 功能:分段器自定义组件
  • 项目移植状态:主功能完成
  • 调用差异:有
    • 方法 setSelectedTextColorssetColors:参数 ColorStateList 改为 StateElement
    • 方法 setTextSize: 第一个参数从 int 改为 Text.TextSizeType sizeType
  • 开发版本:sdk5,DevEco Studio2.1 Release
  • 基线版本:Release 1.17

效果演示

art1

安装教程

在moudle级别下的build.gradle文件中添加依赖,在dependencies标签中增加对libs目录下jar包的引用。

// 添加maven仓库
repositories {
    maven {
        url 'https://s01.oss.sonatype.org/content/repositories/releases/'
    }
}

// 添加依赖库
dependencies {
    implementation 'com.gitee.chinasoft_ohos:SHSegmentControl:1.0.0'
}

在 sdk5,DevEco Studio2.1 Release 下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下

使用说明

相关属性:

  • selectedColor 设置选中后的颜色
  • normalColor 设置未选中的颜色
  • textColors 设置文字内容的颜色,可以使用ColorStateList来设置选中和未选中的颜色,这个属性设置以后,之前设置的selectedColor和normalColor对文字内容失去作用
  • backgroundColors 设置边框、选中的背景和分割线的颜色,可以使用ColorStateList来同事设置选中和未选中的颜色,和textColors一样,设置这个属性后,selectedColor和normalColor会对边框和背景失去作用
  • cornerRadius 设置背景的圆角半径
  • boundWidth 设置边框的粗细
  • separatorWidth 设置分割线的粗细
  • texts 设置文字内容,通过'|'分隔开
  • verticalGap 纵向上的边距
  • horizonGap 横向的边距
<com.sevenheaven.segmentcontrol.SegmentControl    
    ohos:id="$+id/segment_control"
    ohos:width="match_content"
    ohos:height="match_content"
    ohos:top_margin="20vp"                       	
    ohos:textSize="18fp"
    app:block_direction="horizontal"
    app:selectedColor="#32ADFF"
    app:normalColor="#FFFFFF"
    app:textColors="$graphic:text_colors"
    app:backgroundColors="$graphic:background_color"
    app:cornerRadius="5vp"
    app:separatorWidth="2vp"
    app:boundWidth="4vp"
    app:texts="啊啊|啦啦啦|哈哈哈|顶顶顶顶"
    app:verticalGap="10vp"
    app:horizonGap="10vp"
    />

使用OnSegmentControlClickListener来监听选中的变换

mSegmentHorzontal = (SegmentControl) findViewById(ResourceTable.Id_segment_control);
mSegmentHorzontal.setOnSegmentControlClickListener(new SegmentControl.OnSegmentControlClickListener() {
    @Override
    public void onSegmentControlClick(int index) {
        Log.i(TAG, "onSegmentControlClick: index = " + index);
    }
});

测试信息

CodeCheck代码测试无异常

CloudTest代码测试无异常

火绒安全病毒安全检测通过

当前版本demo功能与原组件基本无差异

版本迭代

  • 1.0.0

空文件

简介

分段器自定义UI组件 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/chinasoft_ohos/SHSegmentControl.git
git@gitee.com:chinasoft_ohos/SHSegmentControl.git
chinasoft_ohos
SHSegmentControl
SHSegmentControl
master

搜索帮助