ApiDemos中关于Activity的技巧概要
将知识点分类会更容易理解,那我们就先将Activity的功能大致分类,然后将这些知识点大致归类吧~
- Show
- Communicate with user
一.show
show这个功能块主要有两部分,一部分是静态的展示,一部分是动态的效果。
先说说静态的展示吧。静态的展示一般都是对一些属性的调整。ApiDemos中大致有这些属性:
- style
- dialog
- secure
- translucent backGround
- window
- customTitle
- no title
- 透明背景
- 好多关于Activity的属性都是通过
getWindow()
来设置的
后面是动态的:
- screenOrientation
- soft input modes
- pan 平移视图
- resize 改变视图大小
- nothing 软键盘直接遮盖
- unSpecified 随意
二. Communicate with user
Communicate with user和show一样,也可以继续往下细分:
- navigation
- function
Function现在在ApiDemos中还没有看到那一部分,所以就先讲讲Navigation。
Activity的Navigation主要通过Task来管理。所以,Activity的taskAffinity属性和Intent的flag就是来完成Navigation功能的关键。
关闭某个task中的所有Activity
Activity.finishAffinity();
将某个Activity所在的task中所有的Activity清空,换成新的activity
Intent.makeRestartActivityTask(ComponentName(context, clazz));
将某个activity重新启动
Activity.recreate();
将某个Task的activity的顺序重排
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);