Android 第一行代码(第二版)学习笔记(一)

onCreate()  活动第一次被创建的时候调用;

onStart()   活动将要展示在前端时调用

onResume()  处于运行状态,并且可以跟用户交互

onPause()   活动即将从前台退出

onStop()  活动完全不可见

onDestroy()   被销毁之前

onRestart()   重新运行之前


活动的4种启动模式:standard、singleTop、singleTask、singleInstance

可以通过android:launchMode属性来选择

1、standard(默认)

   每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置,系统不会在乎这个活动是否已经在返回栈中,每次启动都会创建该活动的一个新的实例

2、singleTop

    在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不糊再创建新的活动实例

但是,当启动的活动不是处于栈顶,还是会创建新的实例(也就是栈顶之下如果存在该活动,但是栈顶不是该活动的话,依然会创建新的实例)。

该模式可以很好地解决重复创建栈顶活动的问题

3、singleTask

    每次启动该活动时系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,

如果没有发现就会创建一个新的活动实例。

4、singleInstance

    指定为singleInstance模式的活动会启用一个新的返回栈来管理这个活动

UI的一些属性设置

   android:gravity 文字对齐方式

   android:textAllCaps=“false" 关闭Button对所有字母都大写的设置 

   android:hint 提示性文本

   android:maxLines 最大行数

   style="?android:attr/progressBarStyleHorizontal" 指定ProgressBar为水平进度条样式


  inflate(int resource, ViewGroup root, boolean attachToRoot)

   inflate()方法一般接收两个参数,第一个参数就是要加载的布局ID,第二个参数就是指给该布局的外部再嵌套一层父布局,如果不需要就直接传null。

   第三个参数attachToRoot

   1. 如果root为null,attachToRoot将失去作用,设置任何值都没有意义。

   2. 如果root不为null,attachToRoot设为true,则会给加载的布局文件的指定一个父布局,即root。

   3. 如果root不为null,attachToRoot设为false,则会将布局文件最外层的所有layout属性进行设置,当该view被添加到父view当中 时,这些layout属性会自动生效。

   4. 在不设置attachToRoot参数的情况下,如果root不为null,attachToRoot参数默认为true。


   这样就成功创建了一个布局实例,之后再将它添加到指定的位置就可以显示出来了。   



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值