我使用的教材是《第一行代码》,感谢开放的互联网。
本篇内容包含:Activity间传数据,生命周期,启动模式;kotlin一些技巧;UI开发的相关知识
Activity间传数据
发送信息
接受信息
接受成功
生命周期
任务task=许多Activity组成的返回栈back stack
状态:
- 运行
- 暂停:可见,但不在最顶层
- 停止:仍保留相应状态和成员变量
- 销毁
生存期
onCreat():第一次创建进行加载布局,绑定事件
Start:不可见->可见
Rsume:位于栈顶,准备交互
Pause:启动或恢复另一个Activity,保存当前关键数据
Stop:和上面类似,完全不可见
Destroy:销毁
Restart:停止变位运行(特殊操作
完整生存:creat->destroy
可见:start->stop
前台:resume->pause
onSaveInstanceState(): bundle类型
启动模式
通过注册表中给Activity标签指定android:lauchMode实现
- standard
- singleTop:阻止创新一个新的和栈顶相同的页面
- singleTask:只存在一个实例,如果唤起下层的,上层的都会被销毁
- singleInstance:单独把这个页面放在一个栈中
一些技巧:
知晓当前是哪个Activity:
创建BaseActivity类
随时随地退出程序:
创建单例类ActivityControllor
启动页面的最佳方法
companion object方法
【kotlin
标准函数
with函数
run函数
apply函数
静态方法
又叫类方法,不需要创建实例就能调用
单例类objrct和普通类class
方法:注解@JvmStatic和顶层
UI开发
常见控件
- TextView
- gravity:文字对齐方式
- Button
- EditText
- hint:输入框提示词
- maxLines:不让输入框太长
- ImageView
- ProgressBar
- visibility: visible, invisible, gone
- style: 横向进度条/转圈
- AlertDialog
布局与控件的关系
- LinearLayout
- horizental
- vertical
- gravity
- layout_gravity
- layout_weight
- RelativeLayout
- alignParentXxx
- latouy_above/toRightOf
- FrameLayout
自定义控件
引入布局
创建自定义控件
ListView
引入图片
RecycleView
横向,纵向,瀑布流