一、需要的知识
1、常见的几种布局,线性布局LinearLayout、相对布局RelativeLayout、框架布局FrameLayout.
2、涉及常见几种控件,单选按钮RadioButton、下拉框Spinner、编辑框EditText、复选框CheckBox、按钮、对话框AlertDialog。
3、Activity的生命周期、传值等。
二、代码实现
1、实现目标。
分密码和验证码两种方式登录,点击忘记密码可以更换密码,登录成功弹出dialog。
2、具体实现
(1)在AndroidManifest.xml 中配置<activity android:name=".TestLoginActivity"></activity>
(2) res/layout下面新建页面的xml文件,最外层是LinearLayout 下面是RadioGroup,然后RelativeLayout里面是TextView和Spinner,然后RelativeLayout 里面是TextView和EditText,然后RelativeLayout里面是TextView和FrameLayout FrameLayout包含EditText和Button,最后就是记住密码的CheckBox和Button。
代码如下:
(3)Activity编写逻辑代码 大概思路:实现RadioGroup.OnCheckedChangeListener、AdapterView.OnItemSelectedListener、CompoundButton.OnCheckedChangeListener、TextWatcher、OnClickListener 这几个接口,添加对应页面的监听,前一个页面打包好数据 调用startActivityForResult,下个页面接受处理,在返回前一个页面时,打包参数调用setResult finish()方法,最后前一个页面重写onActivityResult方法处理返回的数据。
核心代码:
(4)最后记录一下 activity生命周期 页面A->B
页面之间跳转:总体上是A页面先调用onPause方法,然后B页面依次调用onCreate/onRestart->onStart->onResume 最后A页面onStop (返回上一级页面,下级页面还会调用一下onDestroy)。
横竖屏切换: 原屏幕页面onPause 到 onStop 到onDestroy 一路销毁,然后新页面onCreate onStart onResume。
按住Home键与返回app:从活动状态变为暂停状态,点击操作之后 又变为活动状态。