欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

【Android学习之路】Android布局和控件认识

程序员文章站 2022-04-20 08:12:02
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.基本控件

  1. TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域
  2. EditText和TextView的功能基本类似,他们之间的主要区别在于EditText提供了可编辑的文本框。
  3. ImageView显示任意图像,例如图标。
  4. view这个类是用户接口的基础构件。 View 表示屏幕上的一块矩形区域,负责绘制这个区域和事件处理。View 是所有widget类的基类,Widget 类用于创建交互式UI构件(按钮,输入框等)
  5. Button是一个按钮式,可按下,或者点击,由用户执行的动作。
  6. RadioButton指的是一个单选按钮,它有选中和不选中两种状态
  7. adioGroup组件也被称为单项按钮组,它可以有多个RadioButton。一个单选按钮组只可以勾选一个按钮,当选择一个按钮时,会取消按钮组中其他已经勾选的按钮的选中状态
  8. CheckBox多项选择组件也被称为复选框,该组件常用于某选项的打开或者关闭
  9. Toast是Android提供的“快显讯息”类。
  10. ToggleButton一个开/关按钮带有指示灯
  11. Spinner一个下拉列表,允许用户选择从一组一个值(类似HTML中的select)

5.控件属性及使用

  1. 属性值为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 如果对应的兄弟元素找不到的话就以父元素做参照物
  1. 属性值必须为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 本元素的右边缘和某元素的的右边缘对齐
  1. 属性值为具体的像素值
属性 说明
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组件的高度
  1. 其他属性
属性 说明
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