- 浏览: 1055595 次
- 性别:
- 来自: 南昌
文章分类
- 全部博客 (276)
- 生活 (1)
- 代码之美 (22)
- Media (7)
- Android Widget (3)
- Android Intent (1)
- Android Activity (4)
- UI event handle--UI事件处理机制 (2)
- Java基础知识 (12)
- android Databases (5)
- Android 系统知识 (70)
- 平常遇到的问题与解决方法 (38)
- Android TextView/EditView (2)
- Thinking Java (1)
- android webkit (6)
- JSON (1)
- XML (4)
- HTTP (1)
- Google Weather API (1)
- android 2.3 NFC (10)
- android app (20)
- android framework (7)
- C++ (2)
- android System (5)
- Pthread (1)
- Wifi (8)
- Unix/Linux C (8)
- Android 4.0 (1)
- Mail (1)
- Smack 源码学习 (4)
- iOS (4)
- Android (1)
- git (1)
- Gallery3d (2)
- React-Natice (1)
最新评论
-
dd18349182956:
你是用的smack哪个版本?我用的smack4.1.3和sma ...
关于socket长连接的心跳包 -
xukaiyin:
全英文
getApplicationContext()与this,getBaseContext() -
裂风矢:
...
<category android:name="android.intent.category.DEFAULT" /> 惹的祸 -
xanthodont:
mark一下
XMPP——Smack -
Evilover3:
mark一下,学习了
XMPP——Smack
转自http://eyeandroid.diandian.com/post/2012-07-05/40030542380
ActivityGroup对子Activity的管理
ActivityGroup是个用来承载多个Activity的容器,自身也是继承Activity,主要用于切换Activity(Layout),类似新浪微博软件切换界面。
public class MainActivityGroup extends ActivityGroup {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main_layout);
}
}
用法与Activity类似,生命周期也一样。onCreate->onStart->onResume->onPause->onStop->onDestroy
布局文件的weight属性这里第一次派上了用途,我的布局类似新浪微博的界面,上边是一个刷新按钮跟文字,下面是一排ImageView来点击切换Activity,中间是Activity的布局。上下的高度定义好以后,我要让activity充满剩余空间,就用了weight=1这个属性。其他用法暂时没用到。
点击开始用ActivityGroup来启动子Activity:
1,activity_container(这是Group布局里面的用来装Activity的Layout)要移除所有的view
activity_container.removeAllViews();
2,增加view到里面
activity_container.addView(
this.getLocalActivityManager().startActivty(str_id,intent).getDecorView());
其中的ActivityManager是ActivityGroup私有的一个成员,用来管理子Activity,这里用来启动。参数是id,和一个intent对象。根据id用key-value的方式,把intent放入到自己的Map里面,用于自己的管理。
(1)当StartActivity时,如果key是不存在的,那么启动一个新的Activity,然后把key与intent放到自己的map
(2)当key是存在的。那么当前的Activity 与新的Activity要怎么切换变化?
这就跟Intent的Flag相关了。第一,如果当前的Activity的intent.Flag设置的是多模式或者FLAG_ACTIVITY_SINGLE_TOP,那么子Activity就会被切换到后台,调用Intent传来的Activity,这个新的Activity也会根据自身的Flag,而出现不同的生命周期变化。
举个例子,如果每个子Activity都是这样的方式启动的
getLocalActivityManager().
startActivity(CampusConstants.ID_ACTIVITY[id], new Intent(MainActivityGroup.this,activity).
addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)).getDecorView());
那么切换时,Activity就不用每一次都Oncreate重新建立
如果使用的是
FLAG_ACTIVITY_CLEAR_TOP 那么每一次切换都会重新onCreate一遍。
ActivityGroup对子Activity的管理
ActivityGroup是个用来承载多个Activity的容器,自身也是继承Activity,主要用于切换Activity(Layout),类似新浪微博软件切换界面。
public class MainActivityGroup extends ActivityGroup {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main_layout);
}
}
用法与Activity类似,生命周期也一样。onCreate->onStart->onResume->onPause->onStop->onDestroy
布局文件的weight属性这里第一次派上了用途,我的布局类似新浪微博的界面,上边是一个刷新按钮跟文字,下面是一排ImageView来点击切换Activity,中间是Activity的布局。上下的高度定义好以后,我要让activity充满剩余空间,就用了weight=1这个属性。其他用法暂时没用到。
点击开始用ActivityGroup来启动子Activity:
1,activity_container(这是Group布局里面的用来装Activity的Layout)要移除所有的view
activity_container.removeAllViews();
2,增加view到里面
activity_container.addView(
this.getLocalActivityManager().startActivty(str_id,intent).getDecorView());
其中的ActivityManager是ActivityGroup私有的一个成员,用来管理子Activity,这里用来启动。参数是id,和一个intent对象。根据id用key-value的方式,把intent放入到自己的Map里面,用于自己的管理。
(1)当StartActivity时,如果key是不存在的,那么启动一个新的Activity,然后把key与intent放到自己的map
(2)当key是存在的。那么当前的Activity 与新的Activity要怎么切换变化?
这就跟Intent的Flag相关了。第一,如果当前的Activity的intent.Flag设置的是多模式或者FLAG_ACTIVITY_SINGLE_TOP,那么子Activity就会被切换到后台,调用Intent传来的Activity,这个新的Activity也会根据自身的Flag,而出现不同的生命周期变化。
举个例子,如果每个子Activity都是这样的方式启动的
getLocalActivityManager().
startActivity(CampusConstants.ID_ACTIVITY[id], new Intent(MainActivityGroup.this,activity).
addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)).getDecorView());
那么切换时,Activity就不用每一次都Oncreate重新建立
如果使用的是
FLAG_ACTIVITY_CLEAR_TOP 那么每一次切换都会重新onCreate一遍。
发表评论
-
Android Webview加载www.youtube.com的问题
2019-04-25 10:36 955Android Webview加载www.youtube.co ... -
EditText键盘删除字符的原理
2018-10-29 19:21 1197转https://blog.csdn.net/tankai19 ... -
Background execution not allowed
2018-10-22 19:02 326911-05 10:08:18.058 673 736 ... -
failed to set system property
2018-10-17 09:21 4155在App的mk文件设置了LOCAL_CERTIFICATE : ... -
CtsDeqpTestCases fail
2018-07-27 09:44 2908Suite / Plan:VTS / cts-on-gsi ... -
在DocumentUI中的Recent(最近)列表无法显示图片的缩略图
2018-06-12 18:23 905今天客户提了一个bug说在短信添加附件,界面无法显示缩略图。接 ... -
在任务栏中清除掉播放器的进程,状态栏仍有音乐播放器状态,且音乐仍在后台播放
2018-06-05 11:28 1545在任务栏中清除掉播放器的进程,状态栏仍有音乐播放器状态,且音乐 ... -
junit.framework.AssertionFailedError: Failed to get achievable frame rates for O
2018-05-25 15:41 2245之前对于CTS测试的失败case接触不多,组长突然转了这样一个 ... -
Android 模拟各种事件的方法
2018-05-17 16:30 1487有时候没有对应的硬件设备,那我们就得通过某种方式来模拟。比如模 ... -
Android Email 新建邮件时一直显示“waiting for sync”
2018-02-28 15:48 960当用户在Setting中清除了Email的data,再返回到E ... -
javax.net.ssl.SSLHandshakeException: Unacceptable certificate: CN=GeoTrust SSL C
2018-01-30 16:48 3633最近从Android N升级到Android O,发现163的 ... -
Email中附件名称中包含中文字符显示乱码
2017-11-28 17:09 1572Email中附件名称中包含中文字符显示乱码是因为附件虽包含了中 ... -
不能再通过createPackageContext来访问另外一个应用的资源(Sharepreference)
2017-11-14 17:22 1432以前我们可以通过createPackageContext来访问 ... -
当Email未设置账户时,通过ACTION_SENDTO启动会报ActivityNotFoundException
2017-09-27 18:15 503当Email未设置账户时,通过ACTION_SENDTO启动会 ... -
java.lang.SecurityException: Permission Denial: reading...requires android.permi
2016-05-12 11:12 2294一直在忙于Gallery,最近遇到了这样的bug,在Setti ... -
android.database.sqlite.SQLiteReadOnlyDatabaseException: attempt to write a read
2015-11-27 14:50 2909android.database.sqlite.SQLiteR ... -
AsyncTask
2015-08-21 17:43 382转自http://blog.csdn.net/hitlion2 ... -
解决IllegalStateException: Can not perform this action after onSaveInstanceState
2015-08-07 18:07 1047转自http://www.cnblogs.com/zgz345 ... -
Android setTag方法的key问题
2015-08-03 19:22 1027转自http://www.cnblogs.com/whitew ... -
listview在activitygroup切换后无法点击的问题
2013-05-14 10:14 1466转自:http://blog.csdn.net/daguaio ...
相关推荐
ActivityGroup之Activity内跳转和外跳转
NULL 博文链接:https://fanhongtao.iteye.com/blog/1430893
ActivityGroup之activity内跳转和外跳转的源码
使用ActivityGroup来切换Activity和Layout
Android开发—使用ActivityGroup来切换Activity和Layout.pdf
Android开发—使用ActivityGroup来切换Activity和Layout
用ActivityGroup解决TabHost中多个Activity跳转问题 参见http://hkp2008.iteye.com/blog/1185482
ActivityGroup 多个activity页面返回 子activity menu设置
ActivityGroup和ViewPager组合实现微信模仿,里面包含下拉刷新需要导入的包
用ActivityGroup实现的activity栈,类似IOS的UINavigationController
现在很多项目里面大多数都是下面是选项卡,模块功能。此种风格可以有很多种实现...管理类里面大家可以添加相应的方法,以便更好的处理自己的界面,可以添加 增加,和移除界面处理, 这样就可以跳到任何的界面去了。
安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip
Android源码——TabHost内嵌ActivityGroup界面管理源码_new_17.7z
Gallery+ActivityGroup实现滑动tab独立的Activity
android中tabhost和ActivityGroup的组合使用,特别是对多个Activity之间的跳转,压栈出战的管理,很有帮助。
ActivityGroup的用法,头部和底部为固定布局中间动态显示界面 并在中间布局实现手势滑动效果,自定义SlidingDrawer(抽屉)效果,在ActivityGroup里执行跳转等功能。至于在Android在ActivityGroup里执行跳转详细介绍 ...
TabHost内嵌ActivityGroup界面管理源码.zip
自定义抽象类继承ActivityGroup 其中进行activity的管理
AndroidTabHost内嵌ActivityGroup界面管理源码.zip
Android TabHost内嵌ActivityGroup界面管理源码.rar