最近看到好多opengl牛人写了些立方体,卷页之类的华丽的代码,这些立体面上都是些图片之类的ImageView的组件,许多人问能不能将一些Activity显示到上面。
最近我在看TabActivity的时候,发现这是可以实现的。
Java代码
public View activityToView(Context parent,Intent intent){
LocalActivityManager mLocalActivityManager = new LocalActivityManager(parent,true);
final Window w = mLocalActivityManager.startActivity(
"TagName", intent);
final View wd = w != null ? w.getDecorView() : null;
if (wd != null) {
wd .setVisibility(View.VISIBLE);
wd .setFocusableInTouchMode(true);
((ViewGroup) wd ).setDescendantFocusability(
FOCUS_AFTER_DESCENDANTS);
}
return wd ;
}
大家知道,tabactivity既可以加载普通的layout布局文件,view组件,还有Intent(指定的activity),看下通讯录的一段代码:
Java代码
Intent intent = new Intent("com.android.phone.action.RECENT_CALLS");
intent.setClass(this, RecentCallsListActivity.class);
mTabHost.addTab(mTabHost.newTabSpec("call_log")
.setIndicator(getString(R.string.recentCallsIconLabel),
getResources().getDrawable(R.drawable.ic_tab_recent))
.setContent(intent));
setContent()方法其实是得到一个new IntentContentStrategy(mTag, intent)的实例。
当当前的Intent的tab获得焦点的时候,TabHost会调用IntentContentStrategy的getContentView()方法,将要显示的activit转化为view显示在Tabweight的下面。
getContentView()的实现方法就类似于前面说的activityToView()方法。具体的大家可以去看TabHost的源码。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/csuhanyong/archive/2011/06/19/6554799.aspx
===================================
我在使用这个方法时遇到了一点问题
我在一个普通的activity中使用这个方法 想把另一个activity转换成view显示
但是运行出错:Activities can't be added until the containing group has been created.
后来经查找在这里解决了问题:http://topic.csdn.net/u/20110821/22/29c9a9f8-f5ae-4a3d-a2de-ae6af955e05d.html
虽然问题解决了 但是还不明白原因。。
分享到:
相关推荐
LocalActivityManager类是管理activity的,然后通过startActivity(String id, Intent intent)这个方法获取Window获取当前Window对象,再然后调用getDecorView()方法获取当前activity对应的view,这样就可以使用...
Android 如何在一个Activity中显示多种类型的checkBox.zip,欢迎下载!
service在后台下载,与前台多个activity通信,结果发现有一个坑,找到原因后,跟大家一起分享。
#前提概要 上一篇文章已经介绍了单元测试的作用和简单示例,如果不了解的读者...1、检测一个布局中的button和TextView是否正确。 2、从网络动态获取String到Activity界面显示,并且这个图片的URL是由Intent传递过来的。
该资源包含了一个activity访问另一个应用的acitvity的简单实现,简单易懂,喜欢的下载!
Android 动态设置程序activity背景图片源码
在Android内实现各个Activity之间的转换
Android源程序实现两个Activity之间的跳转
android触屏事件之activity,view,viewgroup
android,启动service,并且service把值传给Activity显示
主要为大家详细介绍了Android利用Intent启动和关闭Activity的相关操作,感兴趣的小伙伴们可以参考一下
android点击按钮实现多个Activity滑动切换 切换方式从右边进入,左边退出
如何让Android横竖屏切换时不销毁当前的activity活动
这是一个android两个activity的例子,从跟着网上的教程做的。
能将第一个activity的值传到第二个activity,第二个activity的值能返回到第一个activity,适合初学者那来学习
Android中简单的Activity显示功能!
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
androidx activity-1.2.3版本资源包
Android动画效果-切换Activity动画,切换Activity时的淡入淡出和缩放进入退出效果
android生命周期管理:重启或停止一个Activity