ComponentContainer.LayoutConfig
java.lang.Object
|—ohos.agp.components.ComponentContainer.LayoutConfig
public static class ComponentContainer.LayoutConfig
extends Object
implements Cloneable
提供布局参数,例如宽度和高度以及边距。
可以提供每个子组件的边距布局信息。
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
int | height | 组件高度。 |
static int | MATCH_CONTENT | MATCH_CONTENT 意味着组件将足够大以包含其内容并使用自己的填充。 |
static int | MATCH_PARENT | MATCH_PARENT 表示每个子组件将与其父组件大小相同,但需要扣除父填充大小(如果有)。 |
int | width | 组件宽度。 |
构造函数摘要
构造函数 | 描述 |
---|---|
LayoutConfig() | 默认构造函数用于创建 LayoutConfig 实例,其宽度和高度默认设置为 MATCH_CONTENT。 |
LayoutConfig(int width, int height) | 用于通过指定宽度和高度来创建 LayoutConfig 实例的构造函数。 |
LayoutConfig(ComponentContainer.LayoutConfig config) | 用于从现有 LayoutConfig 实例创建 LayoutConfig 实例的构造函数。 |
LayoutConfig(Context context, AttrSet attrSet) | 从 AttrSet 获取属性以实例化 LayoutConfig。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
Object | clone() | 创建并返回此对象的副本。 |
int | getHorizontalEndMargin() | 获取结束边距。 |
int | getHorizontalStartMargin() | 获取起始边距。 |
Component.LayoutDirection | getLayoutDirection() | 返回布局方向:LayoutDirection#LTR 或 LayoutDirection#RTL |
int | getMarginBottom() | 获取下边距。 |
int | getMarginLeft() | 获取左边距。 |
int | getMarginRight() | 获得右边距。 |
int[] | getMargins() | 获取组件的左、上、右、下边距。 |
int[] | getMarginsLeftAndRight() | 获取组件的水平(左右)边距。 |
int[] | getMarginsTopAndBottom() | 获取组件的垂直(顶部和底部)边距。 |
int | getMarginTop() | 获得上边距。 |
protected boolean | isMarginsRelative() | 检查当前边距是否是相对的。 |
void | setMarginBottom(int bottom) | 设置组件的下边距。 |
void | setMarginLeft(int left) | 设置组件的左边距。 |
void | setMarginRight(int right) | 设置组件的右边距。 |
void | setMargins(int left, int top, int right, int bottom) | 以整数设置边距。 |
void | setMarginsLeftAndRight(int left, int right) | 设置组件的水平(左右)边距。 |
void | setMarginsRelative(int start, int top, int end, int bottom) | 以整数设置相对边距。 |
void | setMarginsTopAndBottom(int top, int bottom) | 设置组件的垂直(顶部和底部)边距。 |
void | setMarginTop(int top) | 设置组件的上边距。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息
MATCH_CONTENT
public static final int MATCH_CONTENT
MATCH_CONTENT 意味着组件将足够大以包含其内容并使用自己的填充。
MATCH_PARENT
public static final int MATCH_PARENT
MATCH_PARENT 表示每个子组件将与其父组件大小相同,但需要扣除父填充大小(如果有)。
height
public int height
组件高度。
高度可以是 MATCH_PARENT、MATCH_CONTENT 或特定值,以像素为单位。
width
public int width
组件宽度。
宽度可以是 MATCH_PARENT、MATCH_CONTENT 或以像素为单位的特定值。
构造函数详细信息
LayoutConfig
public LayoutConfig()
默认构造函数用于创建 LayoutConfig 实例,其宽度和高度默认设置为 MATCH_CONTENT。
它将布局的宽度和高度设置为 MATCH_CONTENT。
LayoutConfig
public LayoutConfig(Context context, AttrSet attrSet)
从 AttrSet 获取属性以实例化 LayoutConfig。
参数:
参数名称 | 参数描述 |
---|---|
context | 指示应用程序上下文。 |
attrSet | 表示要获取的属性集。 |
LayoutConfig
public LayoutConfig(int width, int height)
用于通过指定宽度和高度来创建 LayoutConfig 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
width | 以像素为单位表示宽度。 该值可以是固定值、MATCH_CONTENT 或 MATCH_PARENT。 |
height | 以像素为单位表示高度。 该值可以是固定值、MATCH_CONTENT 或 MATCH_PARENT。 |
LayoutConfig
public LayoutConfig(ComponentContainer.LayoutConfig config)
用于从现有 LayoutConfig 实例创建 LayoutConfig 实例的构造函数。
参数:
参数名称 | 参数描述 |
---|---|
config | 指示将基于其创建实例的布局参数。 |
方法详情
clone
public Object clone() throws CloneNotSupportedException
创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类别。 一般意图是,对于任何对象 x,表达式:
x.clone() != x
将是true,并且表达式:
x.clone().getClass() == x.getClass()
将是true,但这些不是绝对的要求。 虽然通常是这样的:
x.clone().equals(x)
将是true,这不是一个绝对的要求。
按照约定,返回的对象应该通过调用 super.clone 来获取。如果一个类及其所有超类(Object 除外)都遵守这个约定,那么 x.clone().getClass() == x.getClass() 就是这种情况。
按照惯例,此方法返回的对象应独立于此对象(正在克隆)。为了实现这种独立性,可能需要在返回 super.clone 之前修改对象的一个或多个字段。通常,这意味着复制任何包含被克隆对象的内部“深层结构”的可变对象,并将对这些对象的引用替换为对副本的引用。如果一个类只包含原始字段或对不可变对象的引用,那么通常情况下 super.clone 返回的对象中不需要修改任何字段。
类 Object 的方法 clone 执行特定的克隆操作。首先,如果该对象的类没有实现接口 Cloneable,则抛出 CloneNotSupportedException。请注意,所有数组都被认为实现了接口 Cloneable,并且数组类型 T[] 的克隆方法的返回类型是 T[],其中 T 是任何引用或原始类型。否则,此方法会创建此对象的类的新实例,并使用此对象的相应字段的内容来初始化其所有字段,就像通过赋值一样;字段的内容本身不会被克隆。因此,此方法执行此对象的“浅拷贝”,而不是“深拷贝”操作。
Object 类本身并没有实现接口 Cloneable,因此在类为 Object 的对象上调用 clone 方法将导致在运行时抛出异常。
覆盖:
在类 Object 中克隆
返回:
此实例的克隆。
Throws:
Throw名称 | Throw描述 |
---|---|
CloneNotSupportedException | 如果对象的类不支持 Cloneable 接口。 覆盖 clone 方法的子类也可以抛出此异常,表示无法克隆实例。 |
setMargins
public void setMargins(int left, int top, int right, int bottom)
以整数设置边距。
参数:
参数名称 | 参数描述 |
---|---|
left | 表示左边距,以像素为单位。 |
top | 表示上边距,以像素为单位。 |
right | 表示右边距,以像素为单位。 |
bottom | 表示下边距,以像素为单位。 |
setMarginsRelative
public void setMarginsRelative(int start, int top, int end, int bottom)
以整数设置相对边距。
参数:
参数名称 | 参数描述 |
---|---|
start | 表示起始边距,以像素为单位。 |
top | 表示上边距,以像素为单位。 |
end | 表示结束边距,以像素为单位。 |
bottom | 表示下边距,以像素为单位。 |
setMarginLeft
public void setMarginLeft(int left)
设置组件的左边距。
参数:
参数名称 | 参数描述 |
---|---|
left | 指示要设置的左边距,以像素为单位。 |
setMarginTop
public void setMarginTop(int top)
设置组件的上边距。
参数:
参数名称 | 参数描述 |
---|---|
top | 指示要设置的上边距,以像素为单位。 |
setMarginRight
public void setMarginRight(int right)
设置组件的右边距。
参数:
参数名称 | 参数描述 |
---|---|
right | 指示要设置的右边距,以像素为单位。 |
setMarginBottom
public void setMarginBottom(int bottom)
设置组件的下边距。
参数:
参数名称 | 参数描述 |
---|---|
bottom | 指示要设置的下边距,以像素为单位。 |
setMarginsLeftAndRight
public void setMarginsLeftAndRight(int left, int right)
设置组件的水平(左右)边距。
参数:
参数名称 | 参数描述 |
---|---|
left | 指示要设置的左边距,以像素为单位。 |
right | 指示要设置的右边距,以像素为单位。 |
setMarginsTopAndBottom
public void setMarginsTopAndBottom(int top, int bottom)
设置组件的垂直(顶部和底部)边距。
参数:
参数名称 | 参数描述 |
---|---|
top | 指示要设置的上边距,以像素为单位。 |
bottom | 指示要设置的下边距,以像素为单位。 |
getMargins
public int[] getMargins()
获取组件的左、上、右、下边距。
返回:
返回左、上、右和下边距,以像素为单位。
getMarginsLeftAndRight
public int[] getMarginsLeftAndRight()
获取组件的水平(左右)边距。
返回:
返回水平边距,以像素为单位。
getMarginsTopAndBottom
public int[] getMarginsTopAndBottom()
获取组件的垂直(顶部和底部)边距。
返回:
返回垂直边距,以像素为单位。
getMarginLeft
public int getMarginLeft()
获取左边距。
返回:
返回以像素为单位的左边距。
getMarginTop
public int getMarginTop()
获得上边距。
返回:
返回以像素为单位的上边距。
getMarginRight
public int getMarginRight()
获得右边距。
返回:
返回以像素为单位的右边距。
getMarginBottom
public int getMarginBottom()
获取下边距。
返回:
返回以像素为单位的下边距。
getHorizontalStartMargin
public int getHorizontalStartMargin()
获取起始边距。
返回:
返回以像素为单位的起始边距。
getHorizontalEndMargin
public int getHorizontalEndMargin()
获取结束边距。
返回:
返回以像素为单位的结束边距。
isMarginsRelative
protected boolean isMarginsRelative()
检查当前边距是否是相对的。
返回:
如果是相对的,则为真,否则为假。
getLayoutDirection
public Component.LayoutDirection getLayoutDirection()
返回布局方向:LayoutDirection#LTR 或 LayoutDirection#RTL
返回:
返回布局方向。