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