【Android学习】UI基础

在Android开发中,用户界面(User Interface,简称UI是用户与应用交互的桥梁,UI设计的好坏直接影响用户的体验所有的用户界面元素都是ViewViewGroup的对象构成的。View是绘制在屏幕上的用户能与之交互的一个对象。而ViewGroup则是一个用于存放其他View(和ViewGroup)对象的布局容器。

                

在Android开发中,所有控件和布局都继承自基类View或其子类ViewGroup,因此它们共享一些通用属性。以下是一些常见的通用属性

属性名称

说明

常用取值

android:id

为控件设置唯一标识符。

通常以 @+id/控件名 的形式设置

android:layout_width

定义控件的宽度。

match_parent、wrap_content

android:layout_height

定义控件的高度。

match_parent、wrap_content

android:layout_gravity

定义控件在其父布局中的对齐方式。

top、bottom、center、left、right

android:layout_margin

定义控件与其父布局或兄弟控件之间的外边距。

具体数值或分别指定四个方向的边距

android:padding

定义控件内部的填充。

具体数值或分别指定上下左右的填充

android:background

设置控件的背景。

颜色值、drawable资源、状态选择器

一、布局管理

1.LinearLayout(线性布局)

是一种简单的布局方式,它将所有子控件按顺序排列,可以是垂直排列或水平排列。

常用属性

说明

android:orientation

设置子视图的排列方向(horizontal 或 vertical)

android:gravity

设置子控件的整体对齐方式

android:layout_weight

权重设置子视图在剩余空间中的分配比例

android:divider

分割线

android:showDividers

设置分割线所在位置(none(无)beginning(开始)end(结束)middle(每两个组件间))

android:dividerPadding

设置分割线的padding

使用场景:适合简单的上下或左右排列的布局。

2.RelativeLayout(相对布局)

是一种更加灵活的布局方式,子控件可以相对于父容器或其他子控件进行布局。

常用属性

属性

说明

layout_toLeftOf

当前视图在指定视图的左边

layout_toRightOf

当前视图在指定视图的右边

layout_above

当前视图在指定视图的上方

layout_below

当前视图在指定视图的下方

layout_alignLeft

当前视图与指定视图的左侧对齐

layout_alignRight

当前视图与指定视图的右侧对齐

layout_alignTop

当前视图与指定视图的顶部对齐

layout_alignBottom

当前视图与指定视图的底部对齐

layout_centerInParent

当前视图在上级视图中间

layout_centerHorizontal

当前视图在上级视图的水平方向居中

layout_centerVertical

当前视图在上级视图的垂直方向居中

layout_alignParentLeft

当前视图与上级视图的左侧对齐

layout_alignParentRight

当前视图与上级视图的右侧对齐

layout_alignParentTop

当前视图与上级视图的顶部对齐

layout_alignParentBottom

当前视图与上级视图的底部对齐

使用场景:适合需要灵活排列控件、相互依赖的布局。

3.ConstraintLayout(约束布局)

通过约束来定义控件之间的关系,提供灵活、高效的布局管理。

常用属性

属性

说明

layout_constraintTop_toTopOf

将当前视图的顶部与指定视图的顶部对齐

layout_constraintBottom_toBottomOf

将当前视图的底部与指定视图的底部对齐

layout_constraintStart_toStartOf

将当前视图的开始边缘(左或右,取决于布局方向)与指定视图的开始边缘对齐

layout_constraintEnd_toEndOf

将当前视图的结束边缘(右或左,取决于布局方向)与指定视图的结束边缘对齐

layout_constraintHorizontal_bias

设置当前视图在水平方向上的偏移量(0到1之间的值),用于微调对齐位置

layout_constraintVertical_bias

设置当前视图在垂直方向上的偏移量(0到1之间的值),用于微调对齐位置

layout_marginStart

设置当前视图在开始边缘(左或右)的外边距

layout_marginEnd

设置当前视图在结束边缘(右或左)的外边距

layout_marginTop

设置当前视图在上边缘的外边距

layout_marginBottom

设置当前视图在下边缘的外边距

layout_constraintDimensionRatio

设置当前视图的宽度和高度之间的比例(例如,"16:9" 表示宽度是高度的16/9)

layout_goneMarginStart

当指定的约束视图被设置为GONE时,设置当前视图在开始边缘的外边距

layout_goneMarginEnd

当指定的约束视图被设置为GONE时,设置当前视图在结束边缘的外边距

layout_goneMarginTop

当指定的约束视图被设置为GONE时,设置当前视图在上边缘的外边距

layout_goneMarginBottom

当指定的约束视图被设置为GONE时,设置当前视图在下边缘的外边距

使用场景:可以替代大多数布局,特别是复杂的界面布局,适合多屏幕适配和动态布局。

4.FrameLayout(帧布局)

所有子视图按顺序叠加在一起,后加入的控件会覆盖在之前的控件之上。

常用属性

属性

说明

android:foreground

设置FrameLayout容器的前景图像,该图像会永远处于帧布局的最上面,不会被其他子视图所覆盖

android:foregroundGravity

设置前景图像在FrameLayout中的对齐方式

使用场景:适合简单的层叠布局,比如图片叠加文字,或用于嵌入其他布局(如 Fragment)

5.GridLayout(网格布局)

将控件排列成网格,支持行和列的定义。

常用属性

属性

说明

android:orientation

设置GridLayout的布局方向。可选值为horizontal或vertical。会按方向依次排满后自动换行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值