HarmonyOS UI开发 TableLayout(表格布局) 的使用
TableLayout 是什么
TableLayout 是表格布局,就是使用表格的方式划分子组件,
个人感觉应该也不是常用的布局,常用的还是选择DirectionalLayout和DependentLayout ,下面了解下它的属性
TableLayout的自有XML属性
属性名称 |
中文描述 |
取值 |
取值说明 |
使用案例 |
---|---|---|---|---|
alignment_type |
对齐方式 |
align_edges |
表示TableLayout内的组件按边界对齐。 |
ohos:alignment_type="align_edges" |
align_contents |
表示TableLayout内的组件按边距对齐。 |
ohos:alignment_type="align_contents" |
||
column_count |
列数 |
integer类型 |
可以直接设置整型数值,也可以引用integer资源。 |
ohos:column_count="3" ohos:column_count="$integer:count" |
row_count |
行数 |
integer类型 |
可以直接设置整型数值,也可以引用integer资源。 |
ohos:row_count="2" ohos:row_count="$integer:count" |
orientation |
排列方向 |
horizontal |
表示水平方向布局。 |
ohos:orientation="horizontal" |
vertical |
表示垂直方向布局。 |
ohos:orientation="vertical" |
看完属性之后练习下
demo练习TableLayout 的使用
先吐槽一下,官方的文档 layout_alignment 这个属性前面文档都没有说,这里居然写了,后来反复实现发现没有效果,大家都别想我一样傻不拉几的试了很久,再说写的编译器也不会智能提醒的,
demo1 TableLayout 里面不添加任何属性
<?xml version="1.0" encoding="utf-8"?>
<TableLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"><Buttonohos:id="$+id:button1"ohos:padding="10vp"ohos:background_element="#FF1493"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button2"ohos:padding="10vp"ohos:background_element="#FF00FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button3"ohos:padding="10vp"ohos:background_element="#0000FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button4"ohos:padding="10vp"ohos:background_element="#00FFFF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/></TableLayout>
看下效果
orientation 属性
试下orientation 属性,也不知道是我理解不对还是怎么了,设置horizontal 里面的控件是垂直的,
设置vertical的时候里面控件是水平的看下面的效果图
设置horizontal的情况
设置orientation 的情况
反正大家知道有这个属性就行了(难受)
感觉里面最重要的就是column_count 和 row_count,下面看下他两的属性
demo2 设置 2行 和2列
<?xml version="1.0" encoding="utf-8"?>
<TableLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:row_count="2"ohos:column_count="2"><Buttonohos:id="$+id:button1"ohos:padding="10vp"ohos:background_element="#FF1493"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button2"ohos:padding="10vp"ohos:background_element="#FF00FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button3"ohos:padding="10vp"ohos:background_element="#0000FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button4"ohos:padding="10vp"ohos:background_element="#00FFFF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/></TableLayout>
效果图
demo3设置1行4列
<?xml version="1.0" encoding="utf-8"?>
<TableLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:row_count="1"ohos:column_count="4"><Buttonohos:id="$+id:button1"ohos:padding="10vp"ohos:background_element="#FF1493"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button2"ohos:padding="10vp"ohos:background_element="#FF00FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button3"ohos:padding="10vp"ohos:background_element="#0000FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button4"ohos:padding="10vp"ohos:background_element="#00FFFF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/></TableLayout>
效果图
最后说下column_count 和 row_count 使用的时候要注意里面的控件,如果多余你设置的行和列的话默认多余的一个在下面,比如我里面写了6个控件设置2行和2列的效果图
比如下面的
<?xml version="1.0" encoding="utf-8"?>
<TableLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:row_count="2"ohos:column_count="2"><Buttonohos:id="$+id:button1"ohos:padding="10vp"ohos:background_element="#FF1493"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button2"ohos:padding="10vp"ohos:background_element="#FF00FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button3"ohos:padding="10vp"ohos:background_element="#0000FF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button4"ohos:padding="10vp"ohos:background_element="#00FFFF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button5"ohos:padding="10vp"ohos:background_element="#00FFFF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/><Buttonohos:id="$+id:button6"ohos:padding="10vp"ohos:background_element="#00FFFF"ohos:height="match_content"ohos:width="match_content"ohos:layout_alignment="center"ohos:text_size="22fp"ohos:text="java"/></TableLayout>
效果图
好了就说到这里把,使用的时候注意下就行,
官方文档链接
其他的布局连接,感兴趣可以看下,
HarmonyOS UI开发 AdaptiveBoxLayout(自适应盒子布局) 的使用
HarmonyOS UI开发 PositionLayout(位置布局) 的使用
HarmonyOS UI开发 StackLayout(堆栈布局) 的使用
HarmonyOS UI开发 DependentLayout(依赖布局) 的使用
HarmonyOS UI开发 DirectionalLayout(定向布局) 的使用
HarmonyOS UI开发 TableLayout(表格布局) 的使用相关推荐
- HarmonyOS UI开发 PositionLayout(位置布局) 的使用
PositionLayout 是什么 PositionLayout 是位置布局,在PositionLayout中,子组件通过指定准确的x/y坐标值在屏幕上显示.(0, 0)为左上角:当向下或向右移动时 ...
- HarmonyOS UI开发 DependentLayout(依赖布局) 的使用
DependentLayout是什么 DependentLayout是依赖布局,每个组件可以指定相对于其他同级元素的位置,或者指定相对于父组件的位置.(类似Android的相对布局) Dependen ...
- HarmonyOS UI开发 DirectionalLayout(定向布局) 的使用
DirectionalLayout 是什么 DirectionalLayout 是定向布局,控件水平或垂直排列(类似Android 的线性布局不过还是有区别的) DirectionalLayout的自 ...
- HarmonyOS UI开发 AdaptiveBoxLayout(自适应盒子布局) 的使用
AdaptiveBoxLayout 是什么 AdaptiveBoxLayout 是自适应盒子布局,该布局提供了在不同屏幕尺寸设备上的自适应布局能力,主要用于相同级别的多个组件需要在不同屏幕尺寸设备上自 ...
- HarmonyOS UI开发 StackLayout(堆栈布局) 的使用
StackLayout是什么 StackLayout 是堆栈布局,直接在屏幕上开辟出一块空白的区域,添加到这个布局中的视图都是以层叠的方式显示,而它会把这些视图默认放到这块区域的左上角,第一个添加到布 ...
- Android 应用开发(38)TableLayout(表格布局)
TableLayout(表格布局) 前面我们已经学习了平时实际开发中用得较多的线性布局(LinearLayout)与相对布局(RelativeLayout), 其实学完这两个基本就够用了,笔者在实际开 ...
- android简单实现表格布局,Android开发中TableLayout表格布局
Android开发中TableLayout表格布局 一.引言 在移动端应用程序开发中,常常会使用到表格布局,iOS和Android开发框架中都提供了独立的表格视图控件供开发者使用,例如iOS中的UIT ...
- android html 显示表格边框,tablelayout表格布局详解
如果你已经下载好MT4软件(很多专业外汇平台都有提供下载的),在手机桌面找到图表打开,然后选择好交易商,输入账号密码就可以了. TableLayout怎样实现表格布局 表格布局的子对象不能指定 lay ...
- HarmonyOS UI 开发 vp ,fp , px 以及写具体数字的 理解
HarmonyOS 开发UI 距离和字体使用什么单位 距离使用 vp (virtual pixel) 字体大小使用 fp (font pixel) 详细了解 vp ,fp , px 虚拟像素单位:vp ...
最新文章
- “快准顺”而不是“信达雅”
- 查找重复文件_重复文件查找和磁盘整理工具:Tidy Up
- Kendo UI常用示例汇总(十)
- VScode 把tab置换为空格
- 敏捷世界里中层经理的角色
- Blender相关的一些链接(持续更新)
- 编辑器扩展之Inspector面板可视化调整
- 十折交叉验证python_Python机器学习:6.2 K折交叉验证评估模型性能
- 郑立:一个80后神话的倒掉
- 小牛叔讲Python第6章:for循环-能计数的循环1234567
- Adobe Photoshop 2021 22.4.2 绿色精简版
- [脑科学]-卡耐基等成功学或者心灵鸡汤的书籍
- 免费开源FTP工具:Cyberduck for Mac
- java判定成绩等级_Java编程判断一组学生成绩等级
- (FortiGate)飞塔防火墙配置AD***
- 徒给别人做嫁衣——与人共同创业(1)
- mpeg2是信源还是信道编码_解析信源编码与信道编码之间的区别
- 程序猿之华丽转身:必备技术面试手册
- nyoj451光棍节的快乐
- 哥德尔的形式系统P——哥德尔重读拆解汉译之三
热门文章
- 学生上课睡觉班主任怎么处理_学生上课睡觉,老师的管与不管,不是你看到的那么简单...
- 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/
- TF-IDF 原理及sklearn中的tf-idf实例分析
- debian10 更换阿里源
- idea内Maven的全局配置
- pytorch旧版安装
- MindSpore后端运行类
- MindInsight计算图可视设计
- 2021年大数据Flink(六):Flink On Yarn模式
- 2021年大数据Spark(二十一):Spark Core案例-SogouQ日志分析