【Android学习之路】Android布局和控件认识
程序员文章站
2022-07-05 09:35:03
1.LinearLayout 线性布局LinearLayout可以让它的子元素垂直(android:rientation=”vertical”)或水平(android:rientation=”vertical”)的方式排成一行(不设置方向的时候默认按照垂直方向排列)。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。2.RelativeLayout 相对布局RelativeLayout 允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定...
1.LinearLayout 线性布局
LinearLayout可以让它的子元素垂直(android:rientation=”vertical”)或水平(android:rientation=”vertical”)的方式排成一行(不设置方向的时候默认按照垂直方向排列)。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。
2.RelativeLayout 相对布局
RelativeLayout 允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定)。因此,你可以以右对齐,或上下,或置于屏幕*的形式来排列两个元素
3.FrameLayout 框架布局
FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片
4.基本控件
- TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域
- EditText和TextView的功能基本类似,他们之间的主要区别在于EditText提供了可编辑的文本框。
- ImageView显示任意图像,例如图标。
- view这个类是用户接口的基础构件。 View 表示屏幕上的一块矩形区域,负责绘制这个区域和事件处理。View 是所有widget类的基类,Widget 类用于创建交互式UI构件(按钮,输入框等)
- Button是一个按钮式,可按下,或者点击,由用户执行的动作。
- RadioButton指的是一个单选按钮,它有选中和不选中两种状态
- adioGroup组件也被称为单项按钮组,它可以有多个RadioButton。一个单选按钮组只可以勾选一个按钮,当选择一个按钮时,会取消按钮组中其他已经勾选的按钮的选中状态
- CheckBox多项选择组件也被称为复选框,该组件常用于某选项的打开或者关闭
- Toast是Android提供的“快显讯息”类。
- ToggleButton一个开/关按钮带有指示灯
- Spinner一个下拉列表,允许用户选择从一组一个值(类似HTML中的select)
5.控件属性及使用
- 属性值为true或false
属性 | 说明 |
---|---|
android:layout_centerhrizontal | 水平居中 |
android:layout_centervertical | 垂直居中 |
android:layout_centerinparent | 相对于父元素完全居中 |
android:layout_alignparentbottom | 贴紧父元素的下边缘 |
android:layout_alignparentleft | 贴紧父元素的左边缘 |
android:layout_alignparentright | 贴紧父元素的右边缘 |
android:layout_alignparenttop | 贴紧父元素的上边缘 |
android:layout_alignwithparentifmissing | 如果对应的兄弟元素找不到的话就以父元素做参照物 |
- 属性值必须为id的引用名“@id/id名称”
属性 | 说明 |
---|---|
android:layout_below | 在某元素的下方 |
android:layout_above | 在某元素的的上方 |
android:layout_toleftof | 在某元素的左边 |
android:layout_torightof | 在某元素的右边 |
android:layout_aligntop | 本元素的上边缘和某元素的的上边缘对齐 |
android:layout_alignleft | 本元素的左边缘和某元素的的左边缘对齐 |
android:layout_alignbottom | 本元素的下边缘和某元素的的下边缘对齐 |
android:layout_alignright | 本元素的右边缘和某元素的的右边缘对齐 |
- 属性值为具体的像素值
属性 | 说明 |
---|---|
android:layout_marginbottom | 离某元素底边缘的距离 |
android:layout_marginleft | 离某元素左边缘的距离 |
android:layout_marginright | 离某元素右边缘的距离 |
android:layout_margintop | 离某元素上边缘的距离 |
android:textSize | 文字大小 |
android:width | 控件宽度 |
android:height | 控件高度 |
android:layout_width | 指定Container组件的宽度 |
ndroid:layout_height | 指定Container组件的高度 |
- 其他属性
属性 | 说明 |
---|---|
edittext的android:hint | 设置edittext为空时输入框内的提示信息 |
android:gravity | 对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity=”right”则button上面的文字靠右 |
android:layout_gravity | 用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity=”right”则button靠右 |
android:scaletype | 控制图片如何resized/moved来匹对imageview的size |
imageview.scaletype | 与android:scaletype相同 |
center /center | 按图片的原来size居中显示,当图片长/宽超过view的长/宽,则截取图片的居中部分显示 |
center_crop / centercrop | 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于view的长(宽) |
center_inside / centerinside | 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于view的长/宽 |
fit_center / fitcenter | 把图片按比例扩大/缩小到view的宽度,居中显示fit_end / fitend 把图片按比例扩大/缩小到view的宽度,显示在view的下部分位置 |
fit_start / fitstart | 把图片按比例扩大/缩小到view的宽度,显示在view的上部分位置 |
fit_xy / fitxy | 把图片不按比例扩大/缩小到view的大小显示 |
matrix / matrix | 用矩阵来绘制,动态缩小放大图片来显示。 |
注意:drawable文件夹里面的图片命名是不能大写
属性 | 说明 |
---|---|
android:id | 为控件指定相应的id |
android:text | 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 |
android:gravity | 指定view组件的对齐方式,比如说居中,居右等位置 这里指的是控件中的文本位置并不是控件本身 |
android:layout_gravity | 指定container组件的对齐方式.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为 例,android:layout_gravity=”right”则button靠右 |
android:textsize | 指定控件当中字体的大小 |
android:background | 指定该控件所使用的背景色,rgb命名法 |
android:width | 指定控件的宽度 |
android:height | 指定控件的高度 |
android:layout_width | 指定container组件的宽度 |
android:layout_height | 指定container组件的高度 |
android:layout_weight | view中很重要的属性,按比例划分空间 |
android:padding* | 指定控件的内边距,也就是说控件当中的内容 |
android:sigleline | 如果设置为真的话,则控件的内容在同一行中进行显示 |
android:scaletype | 是控制图片如何resized/moved来匹对imageview的siz |
android:layout_centerhrizontal | 水平居中 |
android:layout_centervertical | 垂直居中 |
android:layout_centerinparent | 相对于父元素完全居中 |
android:layout_alignparentbottom | 贴紧父元素的下边缘 |
android:layout_alignparentleft | 贴紧父元素的左边缘 |
android:layout_alignparentright | 贴紧父元素的右边缘 |
android:layout_alignparenttop | 贴紧父元素的上边缘 |
android:layout_alignwithparentifmissing | 如果对应的兄弟元素找不到的话就以父元素做参照物 |
android:layout_below | 在某元素的下方 |
android:layout_above | 在某元素的的上方 |
android:layout_toleftof | 在某元素的左边 |
android:layout_torighto | 在某元素的右边 |
android:layout_alignto | 本元素的上边缘和某元素的的上边缘对齐 |
android:layout_alignleft | 本元素的左边缘和某元素的的左边 |
属性 | 说明 |
---|---|
android:maxHeight设置文本区域的最大高度 | |
android:maxLength | 限制显示的文本长度,超出部分不显示。 |
android:maxLines | 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。 |
android:maxWidth | 设置文本区域的最大宽度 |
android:minEms | 设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。 |
android:minHeight | 设置文本区域的最小高度 |
android:minLines | 设置文本的最小行数,与lines类似。 |
android:minWidth | 设置文本区域的最小宽度 |
android:numeric | 如果被设置,该TextView有一个数字输入法。 |
android:password | 以小点”.”显示文本 |
android:phoneNumber | 设置为电话号码的输入方式 |
android:privateImeOptions | 设置输入法选项 |
android:scrollHorizontally | 设置文本超出TextView的宽度的情况下,是否出现横拉条 |
android:selectAllOnFocus | 如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。 |
android:shadowColor | 指定文本阴影的颜色,需要与shadowRadius一起使用 |
android:shadowDx | 设置阴影横向坐标开始位置。 |
android:shadowDy | 设置阴影纵向坐标开始位置。 |
android:shadowRadius | 设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。 |
android:singleLine | 设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " |
adnroid:stretchColumns | 在TableLayout里指定第几列作为拉伸(当填不满屏幕的时候) |
android:text | 设置显示文本. |
android:textSize | 设置文字大小,推荐度量单位”sp” 或者"pt" |
android:textStyle | 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“ |
android:typeface | 设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3 |
android:width | 设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里 |
android:screenOrientation=“portrait” | 指定屏幕为竖屏 |
android:screenOrientation=“landscape” | 指定屏幕为横屏 |
Android:capitalize | 设置英文字母大写类型 |
Android:cursorVisible | 设置光标是否显示 |
Android:digits | 设置允许输入哪些字符。如"123456&*" |
Android:drawableBottom: | 在text的下方输出一个drawable。如果是颜色 设置为背景颜色 |
Android:drawableLeft: | 在text的左边输出一个drawable。 |
Android:drawableRight: | 在text的右边输出一个drawable。 |
Android:drawableTop: | 在text的顶部输出一个drawable。 |
Android:editable | 设置是否可编辑 |
Android:editorExtras | 设置文本的额外的输入数据。 |
Android:ellipsize | 设置当文字过长时,该控件如何显示,有如下属性start省略号显示在开头 end省略号在结尾 middle省略号在中间 marquee以跑马灯的方式显示(动画横向移动) |
Android:ems | 设置TextView的宽度为N个字符的宽度 |
Android:freezesText | 设置保存文本的内容以及光标内置 |
Android:includeFontPadding | 设置文本是否包含顶部和底部额外空白,默认是true |
Android:inputMethod | 为文本指定输入法,需要完全限定名(完整的包名) |
Android:inputType | 设置广西的类型,用于帮助输入法显示合适的键盘类型 |
Android:lines | 设置文本显示的行数 |
Android:lineSpacingExtra | 设置行间距 |
Android:lineSpacingMultiplier | 设置行间距的倍数。如1.3 |
Android:linksClickAble | 设置链接是否点击连接,即使设置了autoLick |
Android:marqueeRepeatLimit | 在ellipsize指定的情况下,设置重复滚动次数。当设置marquee_forever为时表示无限次 |
Android:maxEms | 设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项 |
本文地址:https://blog.csdn.net/liubin4475/article/details/109357252
推荐阅读
-
android kotlin学习之路 函数的认识与定义
-
【Android学习之路】Android布局和控件认识
-
Android基础-四种基本布局和自定义控件的步骤
-
Android破解学习之路(十二)—— GP录像汉化过程及添加布局
-
Android开发学习之路--Kotlin之Android开发使用心得和注意事项
-
Android学习之路 Activity 和 Fragment 生命周期
-
Android学习-常见的UI控件 TextView、EditText和ImageView
-
【Android学习之路】Android布局和控件认识
-
Android基础-四种基本布局和自定义控件的步骤
-
Android开发学习之路--Kotlin之Android开发使用心得和注意事项