ColumnSystem
java.lang.Object
|—ohos.agp.components.ColumnSystem
public class ColumnSystem
extends Object
表示可以适应不同屏幕尺寸和方向的响应式布局设计机制。 分栏系统可以作为 UI 布局的辅助定位工具,保证跨设备体验一致。
column system 具有三个基本属性:column, gutter, 和 margin。
- Columns 用于在 UI 布局中定位。 不同屏幕尺寸的定位由列数决定。 当页边距和装订线符合规范时,根据实际设备宽度和列数自动计算列宽。
- Gutters 用于控制元素之间的间距。 您可以根据屏幕大小定义不同的间距值,作为断点的统一规范。 要获得良好的视觉效果,请将装订线值设置为不大于边距值的值。
- Margins 用于控制元素和屏幕边缘之间的填充。 您可以根据屏幕大小定义不同的边距,作为断点的统一规范。
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
static int | BOTTOM_SHEET_TYPE | 指示底部工作表的列类型。 |
static int | BUBBLE_TYPE | 指示气泡列类型。 |
static int | CARD_DOUBLE_BUTTON_TYPE | 指示卡片的双按钮列类型。 |
static int | CARD_SINGLE_BUTTON_TYPE | 指示卡片的单按钮列类型。 |
static int | CARD_TYPE | 表示卡片列类型。 |
static int | CONTENT_TYPE | 指示内容列类型。 |
static int | CUSTOM_TYPE | 表示自定义列类型。 |
static int | DIALOG_TYPE | 指示对话框列类型。 |
static int | DOUBLE_BUTTON_TYPE | 指示双按钮列类型。 |
static int | LARGE_BOTTOMTAB_TYPE | 指示大底部选项卡(即具有三个以上项目的底部选项卡)的列类型。 |
static int | LARGE_TOOLBAR_TYPE | 指示大工具栏的列类型(即具有四个或固定项的工具栏)。 |
static int | MENU_TYPE | 指示菜单列类型。 |
static int | SINGLE_BUTTON_TYPE | 指示单按钮列类型。 |
static int | SMALL_BOTTOMTAB_TYPE | 指示底部小选项卡(即具有三个或更少项目的底部选项卡)的列类型。 |
static int | SMALL_TOOLBAR_TYPE | 指示小工具栏(即具有两个或三个项目的工具栏)的列类型。 |
static int | TOAST_TYPE | 表示 toast 列类型。 |
构造函数摘要
构造函数 | 描述 |
---|---|
ColumnSystem(Context context) | 用于创建默认 ColumnSystem 实例的构造函数。 |
ColumnSystem(Context context, int columnType) | 创建指定列类型的 ColumnSystem 实例。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
int | getColumnType() | 获取当前列系统的列类型。 |
float | getColumnWidth(int columnCount) | 获取指定列数的总宽度。 |
int | getGutter() | 获取列系统的间距宽度。 |
int | getMargin() | 获取列系统的边距宽度。 |
int | getMaxColumnWidth() | 获取指定列类型的最大列宽。 |
int | getMinColumnWidth() | 获取指定列类型的最小列宽。 |
int | getSuggestedWidth() | 获取当前列类型的宽度。 |
int | getTotalColumnCount() | 获取当前列系统中的总列数。 |
void | setColumnType(int columnType) | 设置当前列系统的列类型。 |
int | updateConfiguration(int width, int height, float density) | 将柱系统的有效区域设置为部分窗口。 |
int | updateConfiguration(Context context) | 设置柱系统的有效区域以完成窗口。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息
BOTTOM_SHEET_TYPE
public static final int BOTTOM_SHEET_TYPE
指示底部工作表的列类型。
BUBBLE_TYPE
public static final int BUBBLE_TYPE
指示气泡列类型。
CARD_DOUBLE_BUTTON_TYPE
public static final int CARD_DOUBLE_BUTTON_TYPE
指示卡片的双按钮列类型。
CARD_SINGLE_BUTTON_TYPE
public static final int CARD_SINGLE_BUTTON_TYPE
指示卡片的单按钮列类型。
CARD_TYPE
public static final int CARD_TYPE
表示卡片列类型。
CONTENT_TYPE
public static final int CONTENT_TYPE
指示内容列类型。
CUSTOM_TYPE
public static final int CUSTOM_TYPE
表示自定义列类型。
DIALOG_TYPE
public static final int DIALOG_TYPE
指示对话框列类型。
此列类型可根据窗口大小和窗口宽高比自动适配为四种子类型:
- 窗口尺寸 < 12 和窗口宽高比 > 9:16
- 窗口尺寸 < 12 和窗口宽度/高度比 <= 9:16
- 窗口大小 >= 12 和窗口宽高比 > 9:16
- 窗口大小 >= 12 和窗口宽度/高度比 <= 9:16
DOUBLE_BUTTON_TYPE
public static final int DOUBLE_BUTTON_TYPE
指示双按钮列类型。
LARGE_BOTTOMTAB_TYPE
public static final int LARGE_BOTTOMTAB_TYPE
指示大底部选项卡(即具有三个以上项目的底部选项卡)的列类型。
LARGE_TOOLBAR_TYPE
public static final int LARGE_TOOLBAR_TYPE
指示大工具栏的列类型(即具有四个或固定项的工具栏)。
MENU_TYPE
public static final int MENU_TYPE
指示菜单列类型。
SINGLE_BUTTON_TYPE
public static final int SINGLE_BUTTON_TYPE
指示单按钮列类型。
SMALL_BOTTOMTAB_TYPE
public static final int SMALL_BOTTOMTAB_TYPE
指示底部小选项卡(即具有三个或更少项目的底部选项卡)的列类型。
SMALL_TOOLBAR_TYPE
public static final int SMALL_TOOLBAR_TYPE
指示小工具栏(即具有两个或三个项目的工具栏)的列类型。
TOAST_TYPE
public static final int TOAST_TYPE
表示 toast 列类型。
构造函数详细信息
ColumnSystem
public ColumnSystem(Context context)
用于创建默认 ColumnSystem 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
ColumnSystem
public ColumnSystem(Context context, int columnType)
创建指定列类型的 ColumnSystem 实例。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
columnType | 表示列类型。 |
方法详情
getTotalColumnCount
public int getTotalColumnCount()
获取当前列系统中的总列数。
返回:
返回当前列系统中的总列数。
getSuggestedWidth
public int getSuggestedWidth()
获取当前列类型的宽度。
当您使用 ColumnSystem(ohos.app.Context) 创建 ColumnSystem 实例时,返回值是默认列类型的宽度。 当您使用 ColumnSystem(ohos.app.Context,int) 创建 ColumnSystem 实例时,返回值是指定列类型的宽度。 对于使用宽度范围的列类型,例如 ColumnSystem.SINGLE_BUTTON_TYPE,返回值为最小宽度。
返回:
返回当前列类型的宽度。
getColumnWidth
public float getColumnWidth(int columnCount)
获取指定列数的总宽度。
参数:
参数名称 | 参数描述 |
---|---|
columnCount | 表示列数。 |
返回:
返回指定列数的总宽度。 例如,值 6 表示六列和五个装订线的总宽度。
getColumnType
public int getColumnType()
获取当前列系统的列类型。
返回:
返回当前列系统的列类型。
setColumnType
public void setColumnType(int columnType)
设置当前列系统的列类型。
参数:
参数名称 | 参数描述 |
---|---|
columnType | 表示列类型。 |
getMargin
public int getMargin()
获取列系统的边距宽度。
返回:
返回列系统的边距宽度。
getGutter
public int getGutter()
获取列系统的间距宽度。
返回:
返回列系统的装订线宽度。
getMinColumnWidth
public int getMinColumnWidth()
获取指定列类型的最小列宽。
返回:
如果指定的列类型(例如 ColumnSystem.SINGLE_BUTTON_TYPE)使用宽度范围,则返回最小列宽; 如果指定的列类型使用固定宽度,则返回固定值。
getMaxColumnWidth
public int getMaxColumnWidth()
获取指定列类型的最大列宽。
返回:
如果指定的列类型(例如 ColumnSystem.SINGLE_BUTTON_TYPE)使用宽度范围,则返回最大列宽; 如果指定的列类型使用固定宽度,则返回固定值。
updateConfiguration
public int updateConfiguration(Context context)
设置柱系统的有效区域以完成窗口。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
返回:
设置成功则返回当前列类型使用的列宽; 如果设置失败,则返回之前的值。
updateConfiguration
public int updateConfiguration(int width, int height, float density)
将柱系统的有效区域设置为部分窗口。
参数:
参数名称 | 参数描述 |
---|---|
width | 表示有效区域的宽度。 |
height | 表示有效区域的高度。 |
density | 表示有效区域的屏幕密度。 通常,密度的值与设备上的值相同。 |
返回:
设置成功则返回当前列类型使用的列宽; 如果设置失败,则返回之前的值。