文章目录

  • 1、TabList 是什么?
  • 2、TabList 常用属性
  • 3、Tab 常用属性
  • 4、实战:三个页签栏切换
  • 5、了解更多

1、TabList 是什么?

简单:页签栏组件
官方:Tablist可以实现多个页签栏的切换,Tab为某个页签。子页签通常放在内容区上方,展示不同的分类。页签名称应该简洁明了,清晰描述分类的内容。

2、TabList 常用属性

(1)设置默认状态和选中状态的字体颜色和indicator的颜色

<TabList...ohos:normal_text_color="#999999"ohos:selected_text_color="#FFFFFF"ohos:selected_tab_indicator_color="#FFFFFF"ohos:selected_tab_indicator_height="2vp"/>

(2)设置Tab的布局

tabList.setTabLength(140 * 3); // 设置Tab的宽度
tabList.setTabMargin(24 * 3); // 设置两个Tab之间的间距

(3)设置固定模式
默认为false,该模式下TabList的总宽度是各Tab宽度的总和,若固定了TabList的宽度,当超出可视区域,则可以通过滑动TabList来显示。如果设置为true,TabList的总宽度将与可视区域相同,各个Tab的宽度也会根据TabList的宽度而平均分配,该模式适用于Tab较少的情况。

tabList.setFixedMode(true);

tabList.setFixedMode(false);

(4)在某个位置新增Tab

TabList.Tab tab = tabList.new Tab(getContext());
tab.setText("News");
tab.setMinWidth(64);
tab.setPadding(12, 0, 12, 0);
tabList.addTab(tab, 1); // 1表示位置

(5)响应焦点变化

tabList.addTabSelectedListener(new TabList.TabSelectedListener() {@Overridepublic void onSelected(TabList.Tab tab) {// 当某个Tab从未选中状态变为选中状态时的回调...}@Overridepublic void onUnselected(TabList.Tab tab) {// 当某个Tab从选中状态变为未选中状态时的回调...}@Overridepublic void onReselected(TabList.Tab tab) {// 当某个Tab已处于选中状态,再次被点击时的状态回调...}
});

3、Tab 常用属性

(1)设置Tab属性

tab.setMinWidth(64);
tab.setPadding(12, 0, 12, 0);

(2)选中某个Tab

tab.select();

(3)获取Tab在TabList中的位置索引

tab.getPosition();

4、实战:三个页签栏切换

MainAbilitySlice.java

        TabList tabList = (TabList) findComponentById(ResourceTable.Id_tab_list);tabList.setTabLength(140*3);    // 设置Tab的宽度tabList.setTabMargin(24*3);     // 设置两个Tab之间的间距//添加标签TabList.Tab tab1 = tabList.new Tab(getContext());tab1.setText("Image");tabList.addTab(tab1);TabList.Tab tab2 = tabList.new Tab(getContext());tab2.setText("Video");tabList.addTab(tab2);TabList.Tab tab3= tabList.new Tab(getContext());tab3.setText("Audio");tabList.addTab(tab3);tabList.setFixedMode(true);        //设置固定模式

ability_main.xml

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:background_element="black"ohos:orientation="vertical"><TabListohos:id="$+id:tab_list"ohos:top_margin="40vp"ohos:tab_margin="24vp"ohos:tab_length="140vp"ohos:text_size="20fp"ohos:height="36vp"ohos:width="match_parent"ohos:layout_alignment="center"ohos:orientation="horizontal"ohos:text_alignment="center"ohos:normal_text_color="#999999"ohos:selected_text_color="#FFFFFF"ohos:selected_tab_indicator_color="#FFFFFF"ohos:selected_tab_indicator_height="2vp"/></DirectionalLayout>

5、了解更多

TabList和Tab 更多详情

Harmony OS — TabList和Tab分页栏相关推荐

  1. android之tab分页标签的实现方法,Android应用中使用ViewPager和ViewPager指示器来制作Tab标签...

    一.ViewPageIndicator开源框架的基本用法我们先得去Github上面下载这个库,下载地址:https://github.com/JakeWharton/Android-ViewPager ...

  2. HarmonyOS之常用组件TabList与Tab的功能和使用

    一.什么是 Tablist 与 Tab ? Tablist 可以实现多个页签栏的切换,Tab 为某个页签. 子页签通常放在内容区上方,展示不同的分类. 页签名称应该简洁明了,清晰描述分类的内容. 二. ...

  3. Android入门第十五篇之ActivityGroup + GridView 实现Tab分页标签

    很多客户端软件和浏览器软件都喜欢用Tab分页标签来搭建界面框架.读者也许会马上想到使用TabHost 与 TabActivity的组合,其实最常用的不是它们,而是由GridView与ActivityG ...

  4. (转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构...

    在Android里面Tab分页,常用的方法有两种: 一.TabActivity和TabHost的结合 1.主类继承TabActivity public class Tagpage extends Ta ...

  5. 华为harmonyos公测,华为鸿蒙 Harmony OS 2.0 第二轮公测已开启,赶紧申请报名

    好消息来了,华为 Harmony OS 官网显示,鸿蒙系统第二轮公测已开启,并且新增了七款机型,之前不能参加鸿蒙2.0公测的赶紧看看有没有你,这几款机型是华为 nova 6.nova 6 5G .no ...

  6. 华为手机刷linux系统,华为Harmony OS 2.0手机Beta版刷机包流出:电脑助手一键刷入/手动...

    原标题:华为 Harmony OS 2.0 手机 Beta 版刷机包流出,Mate 30 Pro 可用(附下载地址) 月24日消息 IT360 论坛今日放出了三款 Mate 30 Pro 机型的华为鸿 ...

  7. 为什么“鸿蒙”不是第二个“安卓”,如何看待Harmony OS里的Android痕迹?

    ​华为将在6月2日晚8点举办鸿蒙操作系统及华为全场景新品发布会.官方微博也在同一时间更名为Harmony OS,同时更新了鸿蒙操作系统的开机视频.--Harmony OS会带来哪些改变? " ...

  8. 腾讯接入华为鸿蒙!QQ音乐与Harmony OS达成合作 推出听歌识曲万能卡片

    今年6月份,华为正式推出了自研HarmonyOS操作系统,这是一款完完全全由华为控制的系统,被号称将实现万物互联.据了解,目前不少App都在逐渐接入,现在作为互联网巨头之一的腾讯也加入了鸿蒙应用生态. ...

  9. EasyUI的DataGrid 分页栏英文改中文解决方案

    EasyUI的DataGrid 分页栏英文改中文解决方案 参考文章: (1)EasyUI的DataGrid 分页栏英文改中文解决方案 (2)https://www.cnblogs.com/tahn30 ...

  10. 微信小程序 - tab分页实现

    GitHub Demo 地址: jh-weapp-demo 实现一些常用效果.封装通用组件和工具类 小程序码 效果图: 引用微信 tabs ,命令行执行之后重新构建npm npm i @minipro ...

最新文章

  1. java日志切割工具_用 Java 实现的日志切割清理工具
  2. 消息称微软计划收购GitHub,估值超50亿美元
  3. Ubuntu 19.10 19.04 18.04 18.10等系统版本修改国内镜像源 国内更新源
  4. 如何解决复杂条件下的程序流的控制问题?
  5. svn switch 导致个别文件switch失败
  6. java httpresponse headres属性,Http Header里的Content-Type - 飞鸿影~ - 博客园
  7. SAP License:ERP咨询顾问之路
  8. 高质量C /C编程指南---附录B :C /C试题和答案
  9. 基于CentOS 5.3系统下面的TMAIL安装笔记
  10. C#实现WebService服务 项目完整总结
  11. 云信api_服务端API文档-音视频通话-网易云信开发文档
  12. 云计算在我们日常生活中,主要有哪些应用
  13. 为什么阿里巴巴的企业Logo是它?
  14. 初学者:html中的表单详解(下面附有代码)
  15. 1688API接口系列,教你如何获取商品详情
  16. 华为服务器操作系统筹备开源社区,华为开源服务器操作系统EulerOS 开源社区年内上线...
  17. Qt QSS QSlider样式
  18. 文华软件怎样测试交易系统的收益,文华财经交易系统之终极黄金
  19. Set的创建和遍历方法
  20. 无人驾驶小车调试笔记(七)-- 相机校准

热门文章

  1. 20172319 实验三《查找与排序》实验报告
  2. ANDROID笔记:Activity之间的传值
  3. 判断 wp 是否是活跃页面
  4. 设计模式之职责链(Chain of Responsibility)
  5. python源码中的学习笔记_第4章_列表
  6. 如何评估一个算法效果
  7. 【学术】施一公分享自身经验:如何提高自己的专业英文文献阅读能力
  8. 理解BERT每一层都学到了什么
  9. 20200221_2_国家非文化遗产聚类分析
  10. 论文赏析[NAACL19]基于DIORA的无监督隐式句法树归纳