Android——UI设计

前言

UI设计可通过XML配置文件和Java代码创建,本文主要讲述View和ViewGroup,布局管理器

一、View(视图)

View类支持的常用属性和方法

XML属性方法描述
backgroudsetBackgroudResource(float)设置背景
clickablesetClickable(bloolean)是否响应事件
elevationsetElevation(float)API 21 新增,用于设置Z轴深度,属性值为带单位的浮点数
idsetId(int)组件唯一标识符ID
longClickablesetLongClickable(boolean)是否响应长按事件,true或者false
minHeightsetMinimumHeight(int)最小高度
minWidthsetMinimumWidth(int)最小宽度
onClikc单击事件触发的方法
paddingsetPaddingRelative(int,int,int,int)设置4个內间距,分别有paddingLeft,paddingRight,paddingEnd,paddingTop等
marginsetMarginRelative(int,int,int,int)设置外间距,分别由end,top,right,left等,用于ViewGroup
visibilitysetVisibility(int)View的可见性

二、ViewGroup

ViewGroup继承于View,它是类的扩展,用于容纳其他组件的容器.。
ViewGroup控制其子组件分布是,依赖于ViewGroup.LayoutParams和ViewGroup.MarginLayoutParams两个内部类。
ViewGroup.LayoutParams类:封装了布局的位置、宽高等信息,支持android:layout_height和android:layout)width两个xml属性,也可以FILL_PARENT和WRAP_CONTENT或者自己指定
ViewGroup.MarginLayoutParams类:用于控制其子组件的外间距,通常有marginTop,marginEnd,marginRight,marginLeft等

三、布局管理器

Android主要有5种布局管理器
常用:
RelativeLayout(相对布局):通过相对定位来控制组件位置
LinearLayout(线性布局):在垂直或水平方向一次拜访组件
FrameLayout(帧布局):没有任何定位方式,默认情况下,摆放在容器左上角,并覆盖
ConstraintLayout(约束布局):通过设置约束来对控件进行布局
了解:
TableLayout(表格布局):使用表格方式按行列摆放组件
AbsoluteLayout(绝对布局):通过绝对定位(x,y)坐标来设置控件摆放位置

Relativelayout

RelativeLayout的XML属性

XML属性描述
gravity设置布局管理器中子控件的对其方式
ignoreGravity用于指定那个控件不受gravity的影响
above属性值为其他控件的ID,指定当前控件位于那个控件的上方
alignBottom属性值为其他控件的ID,指定当前控件和那个控件的下边对其
alignLeft属性值为其他控件的ID,指定当前控件和那个控件的左边对齐
alignRight属性值为其他控件的ID,指定当前控件和那个控件的右边对齐
alignTop属性值为其他控件的ID,指定当前控件和那个控件的顶部对齐
below属性值为其他控件ID,指定当前控件位于那个控件下方
alignParentBottom属性值为Boolean,用于指定当前控件与父容器的底部对齐
alignParentLeft属性值为Boolean,用于指定当前控件与父容器左边对齐
alignParentRight属性值为Boolean,用于指定当前控件与父容器右边对齐
alignParenTop属性值为Boolean,用于指定当前控件与父容器顶部对齐
centerHorizontal属性值为Boolean,设定控件在父容器中水平居中
enterInParent属性值为Boolean,设定控件在父容器中央位置
centerVertical属性值为Boolaen,设定控件在父容器中垂直居中
toLeftOf属性值为其他控件的ID,指定当前控件位于那个控件的左边
toRightOf属性值为其他控件的ID,指定当前控件位于那个控件的右边

LinearLayout

LinearLayout

XML属性描述
orientation布局管理器排列方式,可选值为horizontal(水平)和vertical (垂直)
gravity设置子控件的显示位置,可选值为top,bottom,left,right,center_vertival,center_horizeontal,center等,这些属性值可同时指定名单需要竖线隔开
layout_width控件宽度,可选值为match_parent(和父容器匹配),wrap_content(包裹内容)或者指定大小
layout_height控件高度,可选值为match_parent(和父容器匹配),wrap_content(包裹内容)或者指定大小
id布局管理器设置id,用于Java代码引用
background设置背景,可以是图片资源,也可以是背景颜色
layout_gravity设置子控件在父容器中的位置
layout_weight设置组件所占权重,即用于设置组件占父容器剩余控件比例

FrameLayout

XML属性描述
foreground设置该帧布局管理器的前景图像
foregroundGravity定义绘制前景图像的gravity属性,即前景图像的位置

四、难点

padding和margin的区别
padding(內间距)表示在View的顶部、底部、左侧和右侧的空白区域,设置内容与View边缘的距离,设置指定內间距后,视图内容将偏离VIew边缘指定的距离
Margin(外间距)表示组件的顶部、底部、左侧、右侧的空白区域,设置组件与父容器的距离。

总结

本文主要讲述Android开发中UI设计,了解UI中的布局方式和布局管理器,以及他们中的XML属性。主要掌握RelativLayout、LinearLayout、constraint Layout和FrameLayout.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值