# MaterialTabs **Repository Path**: chinasoft5_ohos/MaterialTabs ## Basic Information - **Project Name**: MaterialTabs - **Description**: No description available - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-28 - **Last Updated**: 2021-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MaterialTabs ### 项目介绍 - 项目名称:MaterialTabs - 所属系列:openharmony的第三方组件适配移植 - 功能:一个易于集成的Ohos选项卡栏 - 项目移植状态:主功能完成 - 调用差异:有(未实现功能:分享) - 开发版本:sdk6,DevEco Studio2.2 beta1 - 基线版本:Release 2.0.5 ### 效果演示 ![screen1](./printscreen/test.gif) ### 安装教程 1.在项目根目录下的build.gradle文件中, ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ``` dependencies { implementation('com.gitee.chinasoft_ohos:MaterialTabs:1.0.0'); ...... } ``` 在sdk6,DevEco Studio2.2 beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 ### 使用说明 1.在布局文件中加入MaterialTabs控件,代码实例如下: ``` ``` 2.在代码中使用: ``` SamplePagerAdapter adapter = new SamplePagerAdapter(numberOfTabs); mViewPager.setProvider(adapter); mMaterialTabs.setViewPager(mViewPager); mMaterialTabs.setOnTabSelectedListener(new MaterialTabs.OnTabSelectedListener() { @Override public void onTabSelected(int position) { } }); mMaterialTabs.setOnTabReselectedListener(new MaterialTabs.OnTabReselectedListener() { @Override public void onTabReselected(int position) { } ``` #### 自定义属性 * custom properties | Attribute | Description | | ------------- | ------------- | | app:mtIndicatorColor | Color of the sliding indicator | | app:mtUnderlineColor | Color of the full-width line on the bottom of the view | | app:mtIndicatorHeight | Height of the sliding indicator | | app:mtUnderlineHeight | Height of the full-width line on the bottom of the view | | app:mtTabPaddingLeftRight | Left and right padding of each tab | | app:mtSameWeightTabs | If set to true, each tab is given the same weight | | app:mtTextAllCaps | If true, all tab titles will be upper case | | app:mtPaddingMiddle | If true, the tabs start at the middle of the view | | app:mtTextColorSelected | Color of text in selected tab | | app:mtMrlRippleColor | Color of the ripple | | app:mtMrlRippleHighlightColor | Color of the background while the ripple is undergoing an animation | | app:mtMrlRippleDiameter | Radius of starting ripple | | app:mtMrlRippleOverlay | If true, ripple is drawn in foreground of view. Otherwise, it will drawn in the background | | app:mtMrlRippleAlpha | Level of transparency (alpha) of the ripple | | app:mtMrlRippleDuration | Duration of the ripple animation | | app:mtMrlRippleFadeDuration | Duration of fade out effect on ripple | | app:mtMrlRippleDelayClick | If true, delays calls to OnClickListeners until ripple effect ends. In that case, the indicator line's move to the clicked tab will also be delayed | | app:mtMrlRipplePersistent | If true, the ripple background color persists after animation, until setRadius(0) is called | | app:mtMrlRippleInAdapter | if true, MaterialRippleLayout will be optimized for use in AdapterViews | | app:mtMrlRippleRoundedCorners | Radius of corners of the ripple. Note: it uses software rendering pipeline for API 17 and below | ### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 ### 版本迭代 - 0.0.1-SNAPSHOT ### 版权和许可信息 MIT License