鴻蒙OS ColumnSystem

2022-09-15 10:09 更新

ColumnSystem

java.lang.Object

|---ohos.agp.components.ColumnSystem

public class ColumnSystem
extends Object

表示可以適應(yīng)不同屏幕尺寸和方向的響應(yīng)式布局設(shè)計(jì)機(jī)制。 分欄系統(tǒng)可以作為 UI 布局的輔助定位工具,保證跨設(shè)備體驗(yàn)一致。

column system 具有三個(gè)基本屬性:column, gutter, 和 margin。

  • Columns 用于在 UI 布局中定位。 不同屏幕尺寸的定位由列數(shù)決定。 當(dāng)頁邊距和裝訂線符合規(guī)范時(shí),根據(jù)實(shí)際設(shè)備寬度和列數(shù)自動(dòng)計(jì)算列寬。
  • Gutters 用于控制元素之間的間距。 您可以根據(jù)屏幕大小定義不同的間距值,作為斷點(diǎn)的統(tǒng)一規(guī)范。 要獲得良好的視覺效果,請將裝訂線值設(shè)置為不大于邊距值的值。
  • Margins 用于控制元素和屏幕邊緣之間的填充。 您可以根據(jù)屏幕大小定義不同的邊距,作為斷點(diǎn)的統(tǒng)一規(guī)范。

字段摘要

修飾符和類型 字段 描述
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 指示內(nèi)容列類型。
static int CUSTOM_TYPE 表示自定義列類型。
static int DIALOG_TYPE 指示對話框列類型。
static int DOUBLE_BUTTON_TYPE 指示雙按鈕列類型。
static int LARGE_BOTTOMTAB_TYPE 指示大底部選項(xiàng)卡(即具有三個(gè)以上項(xiàng)目的底部選項(xiàng)卡)的列類型。
static int LARGE_TOOLBAR_TYPE 指示大工具欄的列類型(即具有四個(gè)或固定項(xiàng)的工具欄)。
static int MENU_TYPE 指示菜單列類型。
static int SINGLE_BUTTON_TYPE 指示單按鈕列類型。
static int SMALL_BOTTOMTAB_TYPE 指示底部小選項(xiàng)卡(即具有三個(gè)或更少項(xiàng)目的底部選項(xiàng)卡)的列類型。
static int SMALL_TOOLBAR_TYPE 指示小工具欄(即具有兩個(gè)或三個(gè)項(xiàng)目的工具欄)的列類型。
static int TOAST_TYPE 表示 toast 列類型。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ColumnSystem(Context context) 用于創(chuàng)建默認(rèn) ColumnSystem 實(shí)例的構(gòu)造函數(shù)。
ColumnSystem(Context context, int columnType) 創(chuàng)建指定列類型的 ColumnSystem 實(shí)例。

方法總結(jié)

修飾符和類型 方法 描述
int getColumnType() 獲取當(dāng)前列系統(tǒng)的列類型。
float getColumnWidth(int columnCount) 獲取指定列數(shù)的總寬度。
int getGutter() 獲取列系統(tǒng)的間距寬度。
int getMargin() 獲取列系統(tǒng)的邊距寬度。
int getMaxColumnWidth() 獲取指定列類型的最大列寬。
int getMinColumnWidth() 獲取指定列類型的最小列寬。
int getSuggestedWidth() 獲取當(dāng)前列類型的寬度。
int getTotalColumnCount() 獲取當(dāng)前列系統(tǒng)中的總列數(shù)。
void setColumnType(int columnType) 設(shè)置當(dāng)前列系統(tǒng)的列類型。
int updateConfiguration(int width, int height, float density) 將柱系統(tǒng)的有效區(qū)域設(shè)置為部分窗口。
int updateConfiguration(Context context) 設(shè)置柱系統(tǒng)的有效區(qū)域以完成窗口。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段詳細(xì)信息

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

指示內(nèi)容列類型。

CUSTOM_TYPE

public static final int CUSTOM_TYPE

表示自定義列類型。

DIALOG_TYPE

public static final int DIALOG_TYPE

指示對話框列類型。

此列類型可根據(jù)窗口大小和窗口寬高比自動(dòng)適配為四種子類型:

  • 窗口尺寸 < 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

指示大底部選項(xiàng)卡(即具有三個(gè)以上項(xiàng)目的底部選項(xiàng)卡)的列類型。

LARGE_TOOLBAR_TYPE

public static final int LARGE_TOOLBAR_TYPE

指示大工具欄的列類型(即具有四個(gè)或固定項(xiàng)的工具欄)。

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

指示底部小選項(xiàng)卡(即具有三個(gè)或更少項(xiàng)目的底部選項(xiàng)卡)的列類型。

SMALL_TOOLBAR_TYPE

public static final int SMALL_TOOLBAR_TYPE

指示小工具欄(即具有兩個(gè)或三個(gè)項(xiàng)目的工具欄)的列類型。

TOAST_TYPE

public static final int TOAST_TYPE

表示 toast 列類型。

構(gòu)造函數(shù)詳細(xì)信息

ColumnSystem

public ColumnSystem(Context context)

用于創(chuàng)建默認(rèn) ColumnSystem 實(shí)例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
context 指示應(yīng)用程序上下文。

ColumnSystem

public ColumnSystem(Context context, int columnType)

創(chuàng)建指定列類型的 ColumnSystem 實(shí)例。

參數(shù):

參數(shù)名稱 參數(shù)描述
context 指示應(yīng)用程序上下文。
columnType 表示列類型。

方法詳情

getTotalColumnCount

public int getTotalColumnCount()

獲取當(dāng)前列系統(tǒng)中的總列數(shù)。

返回:

返回當(dāng)前列系統(tǒng)中的總列數(shù)。

getSuggestedWidth

public int getSuggestedWidth()

獲取當(dāng)前列類型的寬度。

當(dāng)您使用 ColumnSystem(ohos.app.Context) 創(chuàng)建 ColumnSystem 實(shí)例時(shí),返回值是默認(rèn)列類型的寬度。 當(dāng)您使用 ColumnSystem(ohos.app.Context,int) 創(chuàng)建 ColumnSystem 實(shí)例時(shí),返回值是指定列類型的寬度。 對于使用寬度范圍的列類型,例如 ColumnSystem.SINGLE_BUTTON_TYPE,返回值為最小寬度。

返回:

返回當(dāng)前列類型的寬度。

getColumnWidth

public float getColumnWidth(int columnCount)

獲取指定列數(shù)的總寬度。

參數(shù):

參數(shù)名稱 參數(shù)描述
columnCount 表示列數(shù)。

返回:

返回指定列數(shù)的總寬度。 例如,值 6 表示六列和五個(gè)裝訂線的總寬度。

getColumnType

public int getColumnType()

獲取當(dāng)前列系統(tǒng)的列類型。

返回:

返回當(dāng)前列系統(tǒng)的列類型。

setColumnType

public void setColumnType(int columnType)

設(shè)置當(dāng)前列系統(tǒng)的列類型。

參數(shù):

參數(shù)名稱 參數(shù)描述
columnType 表示列類型。

getMargin

public int getMargin()

獲取列系統(tǒng)的邊距寬度。

返回:

返回列系統(tǒng)的邊距寬度。

getGutter

public int getGutter()

獲取列系統(tǒng)的間距寬度。

返回:

返回列系統(tǒng)的裝訂線寬度。

getMinColumnWidth

public int getMinColumnWidth()

獲取指定列類型的最小列寬。

返回:

如果指定的列類型(例如 ColumnSystem.SINGLE_BUTTON_TYPE)使用寬度范圍,則返回最小列寬; 如果指定的列類型使用固定寬度,則返回固定值。

getMaxColumnWidth

public int getMaxColumnWidth()

獲取指定列類型的最大列寬。

返回:

如果指定的列類型(例如 ColumnSystem.SINGLE_BUTTON_TYPE)使用寬度范圍,則返回最大列寬; 如果指定的列類型使用固定寬度,則返回固定值。

updateConfiguration

public int updateConfiguration(Context context)

設(shè)置柱系統(tǒng)的有效區(qū)域以完成窗口。

參數(shù):

參數(shù)名稱 參數(shù)描述
context 指示應(yīng)用程序上下文。

返回:

設(shè)置成功則返回當(dāng)前列類型使用的列寬; 如果設(shè)置失敗,則返回之前的值。

updateConfiguration

public int updateConfiguration(int width, int height, float density)

將柱系統(tǒng)的有效區(qū)域設(shè)置為部分窗口。

參數(shù):

參數(shù)名稱 參數(shù)描述
width 表示有效區(qū)域的寬度。
height 表示有效區(qū)域的高度。
density 表示有效區(qū)域的屏幕密度。 通常,密度的值與設(shè)備上的值相同。

返回:

設(shè)置成功則返回當(dāng)前列類型使用的列寬; 如果設(shè)置失敗,則返回之前的值。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號