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

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_weightview中很重要的属性,按比例划分空间
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选项
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值