一隧饼、需要的知識(shí)
1沈堡、常見的幾種布局,線性布局LinearLayout燕雁、相對(duì)布局RelativeLayout诞丽、框架布局FrameLayout.
2、涉及常見幾種控件拐格,單選按鈕RadioButton僧免、下拉框Spinner、編輯框EditText禁荒、復(fù)選框CheckBox猬膨、按鈕、對(duì)話框AlertDialog呛伴。
3勃痴、Activity的生命周期、傳值等热康。
二沛申、代碼實(shí)現(xiàn)
1、實(shí)現(xiàn)目標(biāo)姐军。
分密碼和驗(yàn)證碼兩種方式登錄铁材,點(diǎn)擊忘記密碼可以更換密碼,登錄成功彈出dialog奕锌。
2著觉、具體實(shí)現(xiàn)
(1)在AndroidManifest.xml 中配置<activity android:name=".TestLoginActivity"></activity>
? (2) ?res/layout下面新建頁(yè)面的xml文件,最外層是LinearLayout ?下面是RadioGroup惊暴,然后RelativeLayout里面是TextView和Spinner饼丘,然后RelativeLayout 里面是TextView和EditText,然后RelativeLayout里面是TextView和FrameLayout ?FrameLayout包含EditText和Button辽话,最后就是記住密碼的CheckBox和Button肄鸽。
代碼如下:
(3)Activity編寫邏輯代碼 大概思路:實(shí)現(xiàn)RadioGroup.OnCheckedChangeListener卫病、AdapterView.OnItemSelectedListener、CompoundButton.OnCheckedChangeListener典徘、TextWatcher蟀苛、OnClickListener 這幾個(gè)接口,添加對(duì)應(yīng)頁(yè)面的監(jiān)聽逮诲,前一個(gè)頁(yè)面打包好數(shù)據(jù) 調(diào)用startActivityForResult帜平,下個(gè)頁(yè)面接受處理,在返回前一個(gè)頁(yè)面時(shí)汛骂,打包參數(shù)調(diào)用setResult finish()方法罕模,最后前一個(gè)頁(yè)面重寫onActivityResult方法處理返回的數(shù)據(jù)。
核心代碼:
(4)最后記錄一下 activity生命周期 頁(yè)面A->B
頁(yè)面之間跳轉(zhuǎn):總體上是A頁(yè)面先調(diào)用onPause方法,然后B頁(yè)面依次調(diào)用onCreate/onRestart->onStart->onResume 最后A頁(yè)面onStop (返回上一級(jí)頁(yè)面帘瞭,下級(jí)頁(yè)面還會(huì)調(diào)用一下onDestroy)淑掌。
橫豎屏切換: 原屏幕頁(yè)面onPause 到 onStop 到onDestroy 一路銷毀,然后新頁(yè)面onCreate?onStart?onResume蝶念。
按住Home鍵與返回app:從活動(dòng)狀態(tài)變?yōu)闀和顟B(tài)抛腕,點(diǎn)擊操作之后 又變?yōu)榛顒?dòng)狀態(tài)。