怎么在电脑上自己做网站吗,个人专业制作网站,怎么 做网站教学流程,大连图书馆网站建设要求作者:李响 本文重点讲述了自android4.0版本号后新增的GridLayout网格布局的一些基本内容#xff0c;并在此基础上实现了一个简单的计算器布局框架。通过本文#xff0c;您可以了解到一些android UI开发的新特性#xff0c;并可以实现相关应用。 在android4.0版本号之… 作者:李响 本文重点讲述了自android4.0版本号后新增的GridLayout网格布局的一些基本内容并在此基础上实现了一个简单的计算器布局框架。通过本文您可以了解到一些android UI开发的新特性并可以实现相关应用。 在android4.0版本号之前假设想要达到网格布局的效果首先能够考虑使用最常见的LinearLayout布局可是这种排布会产生例如以下几点问题 1、不能同一时候在XY轴方向上进行控件的对齐。 2、当多层布局嵌套时会有性能问题。 3、不能稳定地支持一些支持自由编辑布局的工具。 其次考虑使用表格布局TabelLayout这样的方式会把包括的元素以行和列的形式进行排列每行为一个TableRow对象也能够是一个View对象而在TableRow中还能够继续加入其它的控件每加入一个子控件就成为一列。可是使用这样的布局可能会出现不能将控件占领多个行或列的问题并且渲染速度也不能得到非常好的保证。 android4.0以上版本号出现的GridLayout布局攻克了以上问题。GridLayout布局使用虚细线将布局划分为行、列和单元格也支持一个控件在行、列上都有交错排列。而GridLayout使用的事实上是跟LinearLayout类似的API仅仅只是是改动了一下相关的标签而已所以对于开发人员来说掌握GridLayout还是非常easy的事情。GridLayout的布局策略简单分为下面三个部分 首先它与LinearLayout布局一样也分为水平和垂直两种方式默认是水平布局一个控件挨着一个控件从左到右依次排列可是通过指定android:columnCount设置列数的属性后控件会自己主动换行进行排列。还有一方面对于GridLayout布局中的子控件默认依照wrap_content的方式设置其显示这仅仅须要在GridLayout布局中显式声明就可以。 其次若要指定某控件显示在固定的行或列仅仅需设置该子控件的android:layout_row和android:layout_column属性就可以可是须要注意android:layout_row”0”表示从第一行開始android:layout_column”0”表示从第一列開始这与编程语言中一维数组的赋值情况类似。 最后假设须要设置某控件跨越多行或多列仅仅需将该子控件的android:layout_rowSpan或者layout_columnSpan属性设置为数值再设置其layout_gravity属性为fill就可以前一个设置表明该控件跨越的行数或列数后一个设置表明该控件填满所跨越的整行或整列。 利用GridLayout布局编写的简易计算器代码例如以下注意仅限于android4.0及以上的版本号 ?xml version1.0 encodingutf-8?
GridLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:orientationhorizontalandroid:rowCount5android:columnCount4 Buttonandroid:idid/oneandroid:text1/Buttonandroid:idid/twoandroid:text2/Buttonandroid:idid/threeandroid:text3/Buttonandroid:idid/devideandroid:text//Buttonandroid:idid/fourandroid:text4/Buttonandroid:idid/fiveandroid:text5/Buttonandroid:idid/sixandroid:text6/Buttonandroid:idid/multiplyandroid:text×/Buttonandroid:idid/sevenandroid:text7/Buttonandroid:idid/eightandroid:text8/Buttonandroid:idid/nineandroid:text9/Buttonandroid:idid/minusandroid:text-/Buttonandroid:idid/zeroandroid:layout_columnSpan2android:layout_gravityfillandroid:text0/Buttonandroid:idid/pointandroid:text./Buttonandroid:idid/plusandroid:layout_rowSpan2android:layout_gravityfillandroid:text/Buttonandroid:idid/equalandroid:layout_columnSpan3android:layout_gravityfillandroid:text/ /GridLayout终于实现的界面例如以下所看到的 參考资料http://tech.it168.com/a2011/1122/1277/000001277274.shtml http://hb.qq.com/a/20111214/000865.htm 转载于:https://www.cnblogs.com/hrhguanli/p/4518244.html