大家好,周末自己偷了个懒-。+,一直在看自己JNI的知识,周末也没有上课,所以就没有更新博客,每周一到五我都会按时更新的,(不可抗力除外-。+)
经过前几期的学习,大家应该对Android有一定初步的认识了吧,虽然有些同学觉得有些枯燥,因为之前除了一个TextView控件和button控件,其他的内容大家都觉得是我们平时手机看不到的东西,觉得很没意思对吧。其实不然啊,这些东西都是基础的,咱们看到的那些眼花缭乱的app都是由这些最基本的东西组成的(当然有很多优秀漂亮的开源框架),所以大家这些一定要好好学,季白同你们一起进步,加油!
一、GridLayout布局(网格布局)
网格布局顾名思义就是实现一个像网格一样的布局,在这里我们通过一个例子来学习这个网格布局——通过网格布局实现计算器的布局。
首先,我们需要创建一个新的AS项目,这个相信大家已经很熟练了,
我们点开MainActivity的layout,在design样式里找到layouts,(如上图),我们很直接就找到了GridLayout,然后我们就可以偷懒了-。+,直接拖进去。。。。
当然还是在text中手敲代码更好一点,这样可以加深我们记忆。
现在我们创建好了GridLayout,你是不是挺奇怪,,我的网格呢!别着急,网格是已经有了,但是网格里面什么东西也没有,下面我们来往里面添加按钮,
好了,我们在里面创建了两个按钮(之前说一个组件在xml文件里的基本格式是</>,然后在尖括号中间添加一系列属性,这里我们是在组件里继续放组件,在<>中放父组件的属性,在下面放入想要添加的属性,这种格式很常见,以后大家会见到更多这样的放法)
现在大家可以看看我们他是个什么样子了
看到了吧,现在已经可以看到两个按键了,就是没有名字,不着急,我们等会儿再弄他,一个计算器两个按键怎么够呢,我们继续添加,(Ctrl+D是复制一行快捷键哦)。
好,现在按键很多了,已经可以形成网格了,我们看看现在的样子,
奇怪不,诶,我网格呢?不急哈,下面来介绍GridLayout的两个关键属性,
rowCount:指定了GridLayout的行数,columnCount指定了GridLayout的列数,多了的话自行溢出。
现在看看我们的网格,就不截图了,应该大家都实现了,
把文字输入一下,现在就变成这样了,但是最后一行少一个啊,是不是看着很不美观,我想让这个0占两个按键的宽度,怎么弄啊,
android:layout_columnSpan="2" ,这个属性可以让我们把当前的按键所占的列数设置为2,现在来看一下效果,
是空出来了一个,但是现在第二个位置还是空着的,我们要把这个0拉长。
layout_gravity这个属性大家应该不陌生吧,我们选中fill_horizontal,让他横向填满,这样他就会吧两个空全占满了,关于layout_gravity的其他值大家可以自己去试一试,很简单的。
好了,大功告成,虽然计算机的布局实现了,但是GridLayout的很多属性还没有介绍,下面我来介绍一下GridLayout的其他属性(不是不重要的,只是没用到而已):
android:rotation="旋转的度数",顺时针旋转指定的度数。
android:layout_rowSpan="2",所占的行数为2,
其他的属性暂时就不用了解了,现在一个漂亮的计算器界面已经做出来了(说的我都违心,是有点丑额。。美化咱们以后再说哦)