Activity

来源:互联网 发布:遥控器软件哪个最好 编辑:程序博客网 时间:2024/05/17 04:11
Activity生命周期有七个生命周期函数。
1.onCreate()创建一个Activity一开始就调用
2.onStart()开始Activity
3.onResume()//获得用户的焦点时调用
4.onPause()暂停  存储这个Activity的数据,等到重启时读取数据还原这个Activity。
5.onStop()停止  当一个Activity处于不可见的时候会调用。既是被另外一个Activity完全遮挡住会调用。如果没有这个Activity没有完全被遮挡,则不会调用。就像窗口风格的Activity。
6.onRestart()重启
7.onDestory()销毁 有两种情况有调用这个方法,1、调用Activity的finish();2、系统资源不够用的时候。


1)当某一个Activity时,会依次调用1、2、3函数。
2)从一个Activity01转到另一个Activity02时会依次调用Activity01中的onPause(),Activity02中的1,2,3函数,Activity01中的onStop()(如果A02没有完全遮挡住A01,则不会调用onStop()方法)。
3)在状态2)时点击返回键,依次调用的是A02的onPause();A01的onRestart(),onStart(),onResume();A02的onStop(),onDestory()。




task:A task is a stack of activities.意思是存放Activity 的栈。例如,依次打开A01,A02,A03。系统会将这三个Activity通过栈来存储,当点击返回键的时候,便释放,顺序为A03,A02,A01。
但是,如果在A02中调用了finish(),A02被销毁了,就是在通过A02转到A03的时候,A02不存在了,栈中没有A02,因此,点击返回键的时候,释放的顺序是A03,A01。


当在系统资源不足的时候,系统会杀死调用了onStop()or onPause() or onDestory()的Activity。
创建一个窗口风格的Activity:在AndroidManifest.xml中对应的Activity权限中加上

android:theme="@android:style/Theme.Dialog"


Activity线性布局、表格布局和相对布局:

LinearLayout:
android:orientation="vertical"--垂直显示  horizontal 水平显示
android:id="@+id/控件ID" --为控件指定相应的ID
text--指定控件当中显示的文字,尽量应用string.xml
gravity --指定控件内容的基本位置,例如居中,居左等,
textSize --指定控件当中字体的大小,单位(pt)
background --指定控件的背景颜色,RGB命名法
width --宽度
height --高度
padding --控件的内边距,就是控件中内容距离控件边距的距离,单位(dip),可以拆分:paddingLeft paddingTop paddingRight paddingBottom
singleLine --设置为真,控件的内容在同一行显示
layout-weight --权重
layout_margin   外边距




TableLayout:
android:stretchColumns=“0” --让某一列可以拉伸,如果TableRow的内容不能够填满整个TableLayout,则某一列拉伸。从0开始。
与<TableRow></TableRow>配合使用,
eg:
<TableLayout>
<TableRow>
.........
</TableRow>
<TableRow>
.........
</TableRow>
</TableLayout>
上面的例子有两行,列数在TableRow中定义。


相对布局RelaticveLayout:
android:layout_above  将该控件的底部至于给定ID的控件之上
layout_below="@id/给定控件的ID"  将该控件的底部至于给定ID的控件之下
layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐
layout_toRightOf  将该控件的左边缘和给定ID的控件的右边缘对齐


layout_alignBaseLine  将控件的baseline和给定ID的控件的baseline对齐
layout_alignBottom  将该控件的底部边缘与给定ID控件的底部对齐
layout_alignLeft  将该控件的左边缘与给定ID控件的左边缘对齐
layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐
layout_alignTop 将该控件的顶部边缘与给定ID控件的顶部边缘对齐


alignParentBottom  值为true,将该控件的底部和父控件的底部对齐
layout_alignParentLeft 值为true,将该控件的左边和父控件的左边对齐
layout_alignParentRight  值为true,将该控件的右边和父控件的右边对齐
layout_alignParentTop 值为true,将该控件的顶部和父控件的顶部对齐


layout_centerHorizontal 值为真,控件被置于水平方向的中央
layout_centerInParent  值为真,控件被置于父控件水平方向和垂直方向中央
layout_centerVertital  值为真,控件被置于水垂直方向的中央

0 0