MonoDroid学习笔记(九)—— 控件大串烧,在Android上做一个CSDN的注册页面。

来源:互联网 发布:安卓微商软件 编辑:程序博客网 时间:2024/05/18 03:58

搞过winform或webform的朋友肯定都对控件非常熟悉,开发过程中界面上都要用到很多的相关控件。今天我们就来学习一下Android里的几个常用控件。拿CSDN的注册页面来作为参考,我们也来布局一个类似的手机页面。

CSDN的注册页面如下:http://passport.csdn.net/account/register,查看这个页面的源代码我们就可以发现,它是由一个table来进行布局的。那我们很自然的就想到我们手机的页面就使用TableLayout来进行布局吧:

 

从上面的布局文件我们可以看到,由于我们的手机屏幕较小,不能在一屏显示所有的信息,所以在TableLayout外面还套了一层ScollView,当页面内容超出一屏时,会出现纵向滚动条。

如果页面某些字段没有填写,我们需要弹出提示。还记得我们之前已经封装过一个MessageBox类了吗?但里面的AlertDialog标题中只有文字而没有图标,我们再增加一个Alert方法,使其弹出的对话框的标题中显示一个叹号图片,这个图片是Android里自带的:

 

Android中的下拉菜单是Spinner,相当于winform中的ComboBox,Html中的<select>,由于手机画面有限,在有限的范围选择项目,下拉菜单是唯一,也是较好的选择。为Spinner增加下拉项有很多种方法,在这里我使用了两种方法。一是直接在布局文件Main.axml中指定了Spinner的android:entries属性,见上面布局文件中的“工作年限”这一项,有这么个属性:android:entries="@+array/workExp"。这代表这个Spinner引用了一个叫做workExp的array。那么这个array是在哪里定义的呢?我们在Layout文件下新增一个叫做WorkExperience.xml的文件,内容如下:

 

这里的workExp就是被Spinner引用的array了。

另一种方法是在OnCreate方法里增加:

 

 

在点击校验码的输入框时,我们会出现一组五位随机字符串的验证码,这个效果我是这样实现的。在布局文件中有一个TableRow放了一个TextView,用来生成校验码,TableRow一开始是隐藏的,在点击了输入验证码的输入框后才可见。所以我们要对txtValidate输入框的Touch事件绑定处理方法:

 

MyTouchListener是一个实现了EditText.IOnTouchListener接口的类,用以实现点击输入框时的逻辑。记得实现Java的接口时,要继承Java.Lang.Object类:

 

 

在点击确定按钮时,我们要对页面的字段进行校验,有非空的校验,也有输入内容一致性的校验,这部分内容比较简单,我就不一一介绍了,先定义一个实现Button.IOnClickListener接口的类,实现按钮点击的逻辑,然后在按钮的SetOnClickListener中传入该类的实例化对象:

 

 

 

运行效果:

 

这里介绍了控件的一些常用属性和操作,更深入的应用留给大家慢慢发掘了~~