Android布局_View属性

Android的创始人:安迪.鲁宾,2003年成立,2005年被Google收购

布局:

lenearLyout

LenearLyout常用属性:

android:orientation设置布局管理器内组件的排列方式,有vertical(垂直)和horizotal(水平)两种方式

android:layout_width代表此组件布局的宽度:fill_parent:以父容器大小为准 warp_content:以内容大小为准 match_parent:以全布局为准

andrord:layout_height代表此组件布局的高度android:gravity决定子控件的对其方式。该属性支持;top、bottom、left、right、center等方式也可指定多种对齐方式组合:android:gravity=”bottom|rigth”表示右下角

android:layout_gravity  决定自身在父控件中的对齐方式

android:layout_weight  放在线性布局管理器的子元素中,指定该子元素在lenearLayout中所占的权重

android:layout_margin  指定这个view距离上下左右的额外距离(外边距)

android:layout_maginBottom指定这个view距离下方的额外距离

android:layout_marginLeft  指定这个view距离左方的额外距离

android:layout_marginRight  指定这个view距离右方的额外距离

android:layout_marginTop  指定这个view距离上方的额外距离

RelativeLyout

相对布局就是容器内子组件的位置总是相对兄弟组件或父容器来决定的

如果A组件的位置是由B组件来决定,Android要求先定义B组建,再定义A组件

android:layout_above   置于目标id组件的上方

android:layout_below  置于目标id组件的下方

android:layout_toleftof  置于目标id组件的左方

android:layout_torightof   置于目标id组件的右方

android:layout_alignBaseline  置于与目标id组件同样的基线上

android:layout_alignTop   让自己的上边界与目标id组件的上边界在同一位置

android:layout_alignBotton让自己的下边界与目标id组件的下边界在同一位置

android:layout_alignLeft   让自己的左边界与目标id组件的左边界在同一位置

android:layout_alignRight  让自己的右边界与目标id组件的右边界在同一位置

android:layout_alignWithParentIfMissing  若设为true,当参考的目标id不可用时,会以Parent(父类)为参考目标

android:layout_centerHorizonal   若为true,置于Parent水平位置的中心

android:layout_centerInParent  若为true,置于Parent水平以及垂直位置的中心

android:layout_centerVertical  若为true,置于Parent垂直位置的中心

FrameLayout

FrameLyout是所有布局中最单纯的

  若同个FrameLyout中若有数个组件,以最上层的组件为主

  若同个FrameLyout 中有大小相同的组件,只会看到一最上层的组件(组件内的内容无颜色干扰的情况下均为重叠)

若同个FrameLayout中有个不同大小的组件,会看到由下至上的组件。

TableLayout

TableLyout表格布局:顾名思义是由列(row)和行(column)组成而TableLyout的每一个列是由所构成,至于每个列中的行可以由各中组件构成

TableLyout继承了LinearLyout,因此线性布局的属性也适用于它

TableLyout是一个特殊的线性布局,里面的表格行都死垂直排列的,每一个表格行内部的控件都是水平排列的

TableLayout常用属性

android:stretchColumns:用在TableLyout上,以第0行为序,尽量把指定列填充空白部分,可以指定数字,或者以“*”表示所有的列

android:collapseColumns:用在TableLayout上,以第0行为序,隐藏指定的类,可以指定数字,或者以“*”表示所有的列

android:shrinkColumns:用在TableLyout上以第0行为序,自动延伸指定的列填充可用部分,可以指定数字,或者以“*”表示所有的列

android:layout_column:用在TableRow内的组件上,用于指明组件放在那一列上,以0开始

android:layout_span:用在TableRow内的组件上,用于指明该组件跨几列。

AbsoluteLayout

一般很少用,使用绝对值,就是直接给定X轴与Y轴的坐标,控件根据这个坐标来摆放,坐标原点为屏幕的左上角

GridLayout(网格布局)

不能同时在X、Y轴方向上进行控件的对齐

当多层布局嵌套时会有性能问题

不能稳定地支持一些支持自由编辑布局的工具

若要指定某控件显示在固定的行或列,只需设置该子空间的android:layout_row和android_column属性即可,但需要注意,行与列开始标识为“0”“0”表示从从第一行开始第一列开始

如果需要设置某控件跨多行或多列,只需将该子控件的android:layout_rowSpan或者android:layout_columnSpan属性设为数值,在设置其layout_gravity属性为fill即可,前一个设置表明该控件跨越的行数或列数,后一个设置表明该控件填满所跨越的整行货整列

View

android:background  
设置背景色/背景图片。可以通过以下两种方法设置背景为透明:"@android:color/transparent"和"@null"。注意TextView默认是透明的,不用写此属性,但是Buttom/ImageButton/ImageView想透明的话就得写这个属性了。
2) android:clickable
是否响应点击事件。
3) android:contentDescription
设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提供说明,如ImageButton。这里在界面上不会有效果,自己在程序中控制,可临时放一点字符串数据。
4) android:drawingCacheQuality
设置绘图时半透明质量。有以下值可设置:auto(默认,由框架决定)/high(高质量,使用较高的颜色深度,消耗更多的内存/low(低质量,使用较低的颜色深度,但是用更少的内存)。
5) android:duplicateParentState
如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)。 注意根据目前测试情况仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout时Button有被点击的效果,但是不执行点击事件。
6) android:fadingEdge
设置拉滚动条时 ,边框渐变的放向。none(边框颜色不变),horizontal(水平方向颜色变淡),vertical(垂直方向颜色变淡)。
7) android:fadingEdgeLength
设置边框渐变的长度。
8) android:fitsSystemWindows
设置布局调整时是否考虑系统窗口(如状态栏)
9) android:focusable
设置是否获得焦点。若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个如EditText获取焦点,光设置这个是不行的,需要将这个EditText前面的focusable都设置为false才行。在Touch模式下获取焦点需要设置focusableInTouchMode为true。
10) android:focusableInTouchMode
设置在Touch模式下View是否能取得焦点。
11) android:hapticFeedbackEnabled
设置触感反馈。(译者注:按软键以及进行某些UI交互时振动,暂时不知道用法,大家可以找找performHapticFeedback或HapticFeedback这个关键字的资料看看。)
12) android:id
给当前View设置一个在当前layout.xml中的唯一编号,可以通过调用View.findViewById() 或Activity.findViewById()根据这个编号查找到对应的View。不同的layout.xml之间定义相同的id不会冲突。格式如”@+id/btnName”
13) android:isScrollContainer
设置当前View为滚动容器。这里没有测试出效果来,ListView/GridView/ ScrollView根本就不用设置这个属性,而EdidText设置android:scrollbars也能出滚动条。
14) android:keepScreenOn
View在可见的情况下是否保持唤醒状态。常在LinearLayout使用该属性,但是模拟器这里没有效果。
15) android:longClickable
设置是否响应长按事件.
16) android:minHeight
设置视图最小高度
17) android:minWidth
置视图最小宽度度
18) android:nextFocusDown
设置下方指定视图获得下一个焦点。焦点移动是基于一个在给定方向查找最近邻居的算法。如果指定视图不存在,移动焦点时将报运行时错误。可以设置imeOptions= actionDone,这样输入完即跳到下一个焦点。
19) android:nextFocusLeft
设置左边指定视图获得下一个焦点。
android:nextFocusRight
20) 设置右边指定视图获得下一个焦点。
21) android:nextFocusUp
设置上方指定视图获得下一个焦点。
22) android:onClick
点击时从上下文中调用指定的方法。这里指定一个方法名称,一般在Activity定义符合如下参数和返回值的函数并将方法名字符串指定为该值即可:
public void onClickButton(View view)
android:onClick=” onClickButton”
23) android:padding
设置上下左右的边距,以像素为单位填充空白。
 android:paddingBottom
设置底部的边距,以像素为单位填充空白。            
24) android:paddingLeft
设置左边的边距,以像素为单位填充空白。           
25) android:paddingRight
设置右边的边距,以像素为单位填充空白。    
26) android:paddingTop
设置上方的边距,以像素为单位填充空白。
27) android:saveEnabled
设置是否在窗口冻结时(如旋转屏幕)保存View的数据,默认为true,但是前提是你需要设置id才能自动保存,参见这里。
28) android:scrollX
以像素为单位设置水平方向滚动的的偏移值,在GridView中可看的这个效果。
29) android:scrollY
以像素为单位设置垂直方向滚动的的偏移值
30) android:scrollbarDefaultDelayBeforeFade
设置N毫秒后开始淡化,以毫秒为单位。
31) android:scrollbarFadeDuration
设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。Android2.2中滚动条滚动完之后会消失,再滚动又会出来,在1.5、1.6版本里面会一直显示着。
32) android:scrollbarSize
设置滚动条的宽度。
33) android:scrollbarStyle
设置滚动条的风格和位置。设置值:insideOverlay、insideInset、outsideOverlay、outsideInset。
34) android:scrollbarThumbHorizontal
设置水平滚动条的drawable。
35) android:scrollbarThumbVertical
设置垂直滚动条的drawable.
6) android:scrollbarTrackHorizontal
设置水平滚动条背景(轨迹)的色drawable
37) android:scrollbars
设置滚动条显示。none(隐藏),horizontal(水平),vertical(垂直)。见下列代码演示使用该属性让EditText内有滚动条。但是其他容器如LinearLayout设置了但是没有效果
38) android:soundEffectsEnabled
设置点击或触摸时是否有声音效果
39) android:tag
设置一个文本标签。可以通过View.getTag()或 forwith
View.findViewWithTag()检索含有该标签字符串的View。但
一般最好通过ID来查询View,因为它的速度更快,并且允
许编译时类型检查。
40) android:visibility
设置是否显示View。设置值:visible(默认值,显示),invisible(不显示,但是仍然占用空间),gone
(不显示,不占用空间)
41) android:scrollbarTrackVertical
设置垂直滚动条背景(轨迹)的drawable注意直接
设置颜色值如”android:color/white”将得出很难看的效果,
甚至都不理解这个属性了,这里可以
参见ApiDemos里res/drawable/
scrollbar_vertical_thumb.xml和
scrollbar_vertical_track.xml,设置代码为:
android:scrollbarTrackVertical
="@drawable/scrollbar_vertical_track"

Textview属性功能介绍

android:autolink设置是否当文本为URL链接email/电话号码/map时,文本显示为可点击的链接:

none:表示默认值

web:表示网址链接

email:表示email链接

phone表示电话号码链接

map:表示地址链接

all:表示所有链接种类

android:autoText如果设置,将自动执行输入的拼写纠正,在显示输入法并输入的时候起作用。

Android:bufferType指定getText()方式取得的文本类别,能让getText后可调用append方法设置文本内容

Android:capitalize控制是否将用户输入的文本转换为大写字母:

none表示不转换

senrences表示每个句子的首字母大写

words表示每个单词的首字母大写

characters表示每个字母都大写

 android:cursorVisible设定光标为显示/隐藏,默认光标是可见的;

android:digits设置允许输入那些字符。如“1234567890/*-+@“

android:drawableBottom在text下方输入一个drawable,如图片,如果指定一个颜色的话会把text的背景设置为该颜色,并且同时和background使用时覆盖后者

android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果

android:drawablwRight在text的右边输出一个drawable。

android:drawableTop在text的正上方输出一个drawable。

android:editable设置是否可编辑。

android:editorExtras设置文本的额外属入数据

android:ellipsize设置当文字过长时该控件该如何显示:

none:不做任何出理

strat:在文本开始处截断,并显示省略号

end:在文本结尾处截断,并显示省略号

middle:在文本中间处截断,并显示省略号

marquee:以跑马灯的方式滚动显示文本

android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动次数,当设置为marquee_forever时表示无限次数

android:freezesText设置保存文本的内容及光标的位置

android:gravity设置文本位置

android:hint当text为空时显示提示信息

android:textColorHint设置提示信息文字的颜色,默认为灰色。与hint一起使用

android:includeFontPadding设置文本是否包含顶部和底部额外留白默认为True

android:linksClickable设置链接是否点击链接,及设置了outolink

android:ems设置TextView的宽度为N个字符的宽度,这里 测试为一个汉字字符宽度

android:maxLength限制显示的文本长度,超出部分不显示

android:lins设置文本的行数,设置两行就显示两行,即使第二行没有数据

android:minLines设置最小行与maxlines类似

android:lineSpacingExtra设置间距

android:lineSpacinMultiplier设置行间距的倍数,如1.2

android:numeric设置该文本框相关联的树枝输入法:

integer指定关联输入法

signed:允许输入符号的数值输入法decimal:允许输入小数点的数值输入法

android:password以小点”.””*”表示文本,文本就不可见

android:phoneNumber设置电话号码的输入方式

android:scrollHorizontally设置文本超出textview的宽度情况下是否允许水平滚动

android:selectAllOnFocus如果文本框的内容可选,设置是否当它获得焦点时自动选中所有文本

android:textColoHighlight被选中文字的底色,默认为蓝色

android:textColorLink文字链接的颜色

android:textStyle设置字形:

bold(粗体)0

italic(斜体)1

bolditalic(又粗又斜)2可设置多个用|隔开

 

ImageView常用属性

android:src   设置ImageView所显示的Drawable对象的ID

android:tint  用于图片着色

android:adjustViewBounds  设置Imageview是否调整自己的边界来保持所显示图片的长宽比

android:scaleType用于设置所显示的图片如何缩放移动以适应ImageView的大小:

matrix用矩形来绘图

fitXY拉伸图片(不按比例)以填充View的宽高

fitCenter按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间

fitStart按比例拉伸图片,拉伸后图片的高度为View的高度,切显示在View的左边

fitEnd按比例拉伸图片,拉伸后图片的高度为view的高度,且显示在View的右边

center按原图大小显示图片,但图片宽高大于View的宽高时,图片显示中间部分

centerCrop按比例放大原图直至等于某边的宽高显示

centerinside当原图宽高或等于View的宽高时,按原图大小居中显示,反之将图片所放至view的宽高居中

你可能感兴趣的:(Android基础)