安卓不规则表格布局方案Word文件下载.docx
《安卓不规则表格布局方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《安卓不规则表格布局方案Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
Viewcode
1
23android:
orientation="
vertical"
4android:
layout_width="
fill_parent"
5android:
layout_height="
6>
7
89android:
id="
@+id/tablelayout1"
10android:
11android:
wrap_content"
12android:
shrinkcolumns="
1"
13android:
stretchcolumns="
2"
14>
15
1617android:
18android:
19android:
text="
独自占用一行的按钮"
/>
20
21
22
23
2425android:
26android:
27android:
RBtn1"
2829android:
30android:
31android:
RBtn2"
3233android:
34android:
35android:
RBtn3"
36
37
38
上面代码展示了,在tableLayour中使用TableRow的效果,和不使用TableRow的效果,并第二列允许收缩,第三列允许拉伸。
运行结果如下所示:
下面说明XmL属性的隐藏使用方法,在
TableLayout中添加一下代码,
android:
collapsecolumns="
0"
注意:
属性中设置列号的时候是从0,1,2,3....
不是1,2,3....
篇二:
安卓布局方法
在安卓开发中我们常用的布局方式有这么几种:
1.LinearLayout(线性布局):
(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角)
线性布局分为水平线性和垂直线性二者的属性分别为:
horizontal"
。
2.RelativeLayout(相对布局):
(里面可以放多个控件,但是一行只能放一个控件)附加几类RelativeLayout的属性供大家参考:
第一类:
属性值为true或false
layout_centerHrizontal水平居中
layout_centerVertical垂直居中
layout_centerinparent相对于父元素完全居中
layout_alignParentBottom贴紧父元素的下边缘
layout_alignParentLeft贴紧父元素的左边缘
layout_alignParentRight贴紧父元素的右边缘
layout_alignParentTop贴紧父元素的上边缘
layout_alignwithParentifmissing若找不到兄弟元素以父元素做参照物第二类:
属性值必须为id的引用名“@id/id-name”
layout_below在某元素的下方
layout_above在某元素的上方
layout_toLeftof在某元素的左边
layout_toRightof在某元素的右边
layout_alignTop本元素的上边缘和某元素的的上边缘对齐
layout_alignLeft本元素的左边缘和某元素的的左边缘对齐
layout_alignBottom本元素的下边缘和某元素的的下边缘对齐
layout_alignRight本元素的右边缘和某元素的的右边缘对齐
第三类:
属性值为具体的像素值,如30dip,40px
layout_marginBottom离某元素底边缘的距离
layout_marginLeft离某元素左边缘的距离
layout_marginRight离某元素右边缘的距离
layout_marginTop离某元素上边缘的距离
3.TableLayout(表格布局):
(这个要和TableRow配合使用,很像html里面的table)这个表格布局不像HTmL中的表格那样灵活,只能通过TableRow属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。
如:
表示两行两列的一个表格。
gravity="
center"
书面解释是权重比。
其时就是让它居中显示。
它还可以动态添加里面的每行每列。
如下代码所示:
/*根据id查找表格对象*/
TableLayouttableLayout=(TableLayout)findViewByid(R.id.table01);
/*创建列对象*/
TableRowtableRow=newTableRow(this);
/*文本框对象*/
TextViewtemp=newTextView(this);
temp.setText("
text的值"
);
/*将此文本添加到列中*/
tableRow.addView(temp);
1,2,3,4"
它的意思就是自动拉伸1,2,3,4列。
4.absoluteLayout(绝对布局):
(里面可以放多个控件,并且可以自己定义控件的x,y的位置)
5.FrameLayout(帧布局):
(里面可以放多个控件,不过控件的位置都是相对位置)在它里面的控件都是按后面的一个控件叠加在前一个控件上来显示的,所有元素都被放置在最左上角。
layout_weight="
>
visibility="
invisible"
src="
@drawable/lotusleaf"
@drawable/frog_right"
表示的是id为f1的控件叠加在id为iv1的控件上面显示
(LinearLayout和RelativeLayout应该又是其中用的较多的两种。
absoluteLayout比较少用,因为它是按屏幕的绝对位置来布局的如果屏幕大小发生改变的话控件的位置也发生了改变。
这个就相当于HTmL中的绝对布局一样,一般不推荐使用)
注意事项:
1、各布局不要乱用各自的属性。
比如把属于absoluteLayout布局的android:
layout_x和android:
layout_y用到LinearLayout布局或RelativeLayout布局,或者把
RelativeLayout布局的below,rightof等属性应用到其他布局中。
这样做虽然不会报错,但这是白浪费感情的工作,根本达不到我们需要的效果。
2、关于android:
和
,这是对每个布局宽和高的设置。
wrap_content可表示随着其中控件的不同而改变这个布局的宽度或高度,类似于自动设置宽和高,
fill_parent使布局填充整个屏幕,另外还有一种match_parent,它本质上和fill_parent一样,并从aPiLevel8开始替代fill_parent。
TextView的属性:
autoLink//设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。
可选值(none/web/email/phone/map/all)
autoText//如果设置,将自动执行输入值的拼写纠正。
此处无效果,在显示输入法并输入的时候起作用
bufferType//指定getText()方式取得的文本类别。
选项editable类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。
spannable则可在给定的字符区域使用样式
capitalize//设置英文字母大写类型。
此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明
cursorVisible//设定光标为显示/隐藏,默认显示
digits//设置允许输入哪些字符。
如“1234567890.+-*/%()”
drawableBottom//在text的下方输出一个drawable,如图片。
如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者android:
drawableLeft//在text的左边输出一个drawable,如图片
drawablePadding//设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableB