# vlayout
**Repository Path**: wangyingjun01/vlayout
## Basic Information
- **Project Name**: vlayout
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 21
- **Created**: 2022-04-18
- **Last Updated**: 2022-04-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# vlayout
## 简介
>能够处理列表、网格和其他布局在同一个视图的复杂情况,用户可以使用已设定好的容器布局组件,也可以在原有的基础上自定义容器布局组件。
## 效果展示:
1. BANNER_LAYOUT滑动容器布局组件
2. COLUMN_LAYOUT横向容器布局组件
3. DEFAULT_LAYOUT默认容器布局组件
4. FIX_LAYOUT固定容器布局组件
5. FLOAT_LAYOUT浮动容器布局组件
6. GRID_LAYOUT复杂网格容器布局组件
7. LINEAR_LAYOUT列表容器布局组件
8. ONEN_LAYOUT一加多容器布局组件
9. ONEN_EX_LAYOUT一加多拓展容器布局组件
10. RANGEGRID_LAYOUT区域网格容器布局组件
11. SCROLL_FIX_LAYOUT滚动固定容器布局组件
12. SINGLE_LAYOUT单项容器布局组件
13. STAGGEREDGRID_LAYOUT交错网格容器布局组件
14. STICKY_LAYOUT吸顶容器布局组件
15. 跳转item项位置
## 下载安装
1. 参考安装教程 [如何安装OpenHarmony npm包](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md)
2. 安装命令如下:
```
npm install @ohos/vlayout --save
```
## 使用说明
1.导入自定义容器组件(路径根据存放位置决定)
```
import {ONEN_LAYOUT} from '@ohos/vlayout'
```
2.创建对应容器组件对象并设置属性
```
build() {
List(){
ListItem(){
ONEN_LAYOUT({
layoutColor: '#ff876384',
layoutContent: [
{ layoutText: 11, layoutWidth: '100%', outerRowsHeight: 1 },
{ layoutText: 12, layoutWidth: '100%', outerRowsHeight: 1, innerColsWeight: 1 },
{ layoutText: 13, layoutWidth: '100%', innerColsWeight: 1 },
],
layoutHeight: 120,
layoutAspectRatio: 4,
topPadding: 5,
rightPadding: 5,
bottomPadding: 5,
leftPadding: 5,
topMargin: 5,
rightMargin: 5,
bottomMargin: 5,
leftMargin: 5,
})
}
}
}
```
3.更多详细用法请参考开源库sample页面的实现。
#### 接口说明
| 属性 | 是否必填 | 说明(不同布局组件存在不同的属性,此处列出共有属性) |
| ---------------------------- | -------- | ---------------------------------------------------- |
| layoutColor: Color \| string | 是 | 布局颜色,默认为0xAAAAAA |
| innerColor: Color \| string | 是 | 内部颜色,默认为0x22EEEEEE |
| layoutHeight: number | 是 | 布局高度,当布局纵横比为0时有效 |
| layoutAspectRatio: number | 是 | 布局纵横比,当它为0时布局高度有效 |
| layoutContent: any[] | 是 | 内容元素 |
| topMargin: number | 否 | 布局上外边距,默认为0 |
| rightMargin: number | 否 | 布局右外边距,默认为0 |
| bottomMargin: number | 否 | 布局下外边距,默认为0 |
| leftMargin: number | 否 | 布局左外边距,默认为0 |
| topPadding: number | 否 | 布局上内边距,默认为0 |
| rightPadding: number | 否 | 布局右内边距,默认为0 |
| bottomPadding: number | 否 | 布局下内边距,默认为0 |
| leftPadding: number | 否 | 布局左内边距,默认为0 |
## 兼容性
支持 OpenHarmony API version 8 及以上版本。
## 目录结构
```
|---- vlayout
| |---- entry # 示例代码文件夹
| |---- vlayout # vlayout库文件夹
| |---- index.ets # 对外接口
| |---- src
| |---- main
| |---- ets
| |---- components
| |---- common # 组件文件夹
| |---- BannerLayoutHelper.ets # 滑动容器布局组件
| |---- ColumnLayoutHelper.ets # 横向容器布局组件
| |---- DefaultLayoutHelper.ets # 默认容器布局组件
| |---- FixLayoutHelper.ets # 固定容器布局组件
| |---- FloatLayoutHelper.ets # 浮动容器布局组件
| |---- GridLayoutHelper.ets # 复杂网格容器布局组件
| |---- JumpBar.ets # 跳转功能栏
| |---- LinearLayoutHelper.ets # 列表容器布局组件
| |---- OnePlusNLayoutHelper.ets # 一加多容器布局组件
| |---- OnePlusNLayoutHelperEx.ets # 一加多拓展容器布局组件
| |---- RangeGridLayoutHelper.ets # 区域网格容器布局组件
| |---- ScrollFixLayoutHelper.ets # 滚动固定容器布局组件
| |---- SingleLayoutHelper.ets # 单项容器布局组件
| |---- StaggeredGridLayoutHelper.ets # 交错网格容器布局组件
| |---- StickyLayoutHelper.ets # 吸顶容器布局组件
| |---- README.MD # 安装使用方法
```
## 贡献代码
使用过程中发现任何问题都可以提 [Issue](https://gitee.com/hihopeorg/vlayout/issues) 给我们,当然,我们也非常欢迎你给我们发 [PR](https://gitee.com/hihopeorg/vlayout/pulls) 。
## 开源协议
本项目基于 [Apache License 2.0](https://gitee.com/hihopeorg/vlayout/blob/master/LICENSE) ,请自由地享受和参与开源。