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>
转载于:https://blog.51cto.com/4435218/1306206