
这可能听起来很愚蠢,但实际上我找不到任何东西.
可以在Android中的活动根视图中添加多个视图吗?
所以例如我可以这样:
setContentVIEw(R.layout.main);setContentVIEw(gLVIEw);setContentVIEw(otherVIEw);或者只是将其作为视图检索
FrameLayout layout = (FrameLayout)this.getwindow().getDecorVIEw().findVIEwByID(androID.R.ID.content);layout.addVIEw(vIEw1);layout.addVIEw(vIEw2);layout.addVIEw(vIEw3);layout.addVIEw(vIEw4);这一切似乎都适用于我测试的设备,但它是否能保证能够在所有这些设备上运行?
或者我应该人为地创建单个FrameLayout以添加到根视图并将所有内容添加到此FrameLayout?
更多实验:
1)如果我不使用setContentVIEw并打印:
Log.d("Test",this.getwindow().getDecorVIEw().findVIEwByID(androID.R.ID.content).getClass().getname());我得到:androID.Widget.FrameLayout
2)如果我将内容视图设置为例如GLSurfaceVIEw并打印相同的Log.d
它还会打印androID.Widget.FrameLayout
3)如果我根本不使用setContentVIEw,只需这样做
FrameLayout layout = (FrameLayout)this.getwindow().getDecorVIEw().findVIEwByID(androID.R.ID.content);layout.addVIEw(myVIEw);它附上了视图
所以我假设androID.R.ID.content不返回你设置的setContentVIEw,而是你设置的内容,或者活动中的实际根视图(结果是FrameLayout?)
我可以通过这种方式添加多个孩子,但问题是:
我被允许这样做吗?最佳答案是的,在根级别添加多个内容视图是完全可以的.内容视图只是简单地添加到FrameLayout容器中,如果只需要FrameLayout就可以将它用于布局,而不是添加额外的容器层.
如果要添加新内容VIEw,则应使用addContentVIEw()方法而不是setContentVIEw(),这将导致替换现有内容.
此外,还可以使用 以上是内存溢出为你收集整理的android – 可以将多个视图添加到Activity的根视图吗?全部内容,希望文章能够帮你解决android – 可以将多个视图添加到Activity的根视图吗?所遇到的程序开发问题。 如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。 欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)