Activity的生命週期(一)
兩個Activity之間的調用情況
Activity的聲明週期的7個方法
onCreate() 創建Activity程序
onStart() 開始運行Activity
onResume() 顯示操作界面,焦點
onPause() 暫停。應用程序啓動另一Activity的是後啓動第一個Activity的onPause方法
onStop() 停止(遮擋起來會調用onStop()方法)
onRestart() 重新啓動
onDetroy() 銷燬
----------------------------------------------------------------------------------------
第一次:First Activity onCreate()-->onStart()-->onResume()
Next
第二次:Second Activity onPause(FA)-->onCreate()-->onStart()-->onResume()-->onStop(FA)
Back
第三次:first activity onPause(SA)-->onRestart(FA)-->onStart(FA)-->onResume(FA)-->onStop(SA)-->onDestroy(SA)
------------------------------------------------------------------------------------------
調用 finish 或者系統資源不不夠用的情況下會選擇Destroy。
使用finish的時候會調用onRestart() onResume()
finish();
Activity 的生命週期(二)
Task
三個Activity FA SA TA
Intent intent = new Intent();
intent..setClass(FirstActivity.this,SecondActivity.class);
startActivity(intent); //FirstActivity.this.startActivity(intent);
------------------------------------------
Intent intent = new Intent();
intent..setClass(SecondActivity.this,ThirdActivity.class);
startActivity(intent);
------------------------------------------
//電話撥號代碼
Url url = Url.parse("smsto://08000000123");
Intent it = new Intent(Intent.ACTION_SENDTO,url);
it.putExtra("sms_body","The SMS text");
startActivity(it);
--------------------------------------------
四個界面 共同組成了Task
進棧和出棧(後進先出)
--------------------------------------
FA
SA finish();
TA
Back --> FA
---------------------------------------
Mainifest
在註冊文件裏面添加Activity的註冊信息。以消息框的樣式顯示出來。
<activity android:name=".SecondActivity"
android:label=".SecondActivity"
android:theme="@android:style/Theme.Dialog"/ >
----------------------------------------
Activity的佈局初步(一)
LinearLayout
屬性
android:id 指定控件的ID
android:text 指定控件當中顯示的文字
android:gravity 指定控件的內容的基本位置,居中,居右等
android:textSize 指定控件當中的字體大小
android:background 指定控件的背景顏色
android:width 寬度
android:height高度
android:padding*指定控件的內邊距
android:sigleLine如果設置爲真的話,將空間在同一行顯示(內容多的時候可以省略,false)
TableLayout
<TableLayout
android:stretchColumns="列數0+"/〉用本列填充未佈滿的空間。
<TableRow>
<TextView
android:gravity="right/left/center/center_horizontal/......"/>
</TableRow>
Activity的佈局初步(二)
LinearLayout 和 TableLayout的嵌套。
Activity的佈局初步(三)
RelativeLayout
屬性
android:layout_above 該控件的底部至於給定ID的控件之上
android:layout_below 該控件的頂部至於給定ID的控件之上
android:layout_toLeftOf 該控件的左邊緣和給定ID的控件的左邊緣對齊
android:layout_toRightOf 該控件的右邊緣和給定ID的控件的右邊緣對齊
android:layout_alignBaseline 該控件的baseline和給定ID的控件的baseline對齊
android:layout_alignBotton 該控件的底部邊緣和給定ID的控件的底部邊緣對齊
android:layout_alignLeft
android:layout_alignRight
android:layout_alignTop
android:alignParentBotton如果該值位true則,該控件的底部邊緣與父控件的底部邊緣對齊
android:layout_alignParentLeft
android:layout_alignParentRight
android:layout_alignParentTop
android:layout_centerHorizontal如果值爲真,該控件將被至於水平方向的中央
android:layout_centerInParent如果值爲真,水平和垂直方向的中央
android:layout_centerVertical如果值爲真,該控件將被至於垂直方向的中央
<RelativeLayout>
</RelativeLayout>