Android:使用新活动切换屏幕或仅更改内容视图

Posted

技术标签:

【中文标题】Android:使用新活动切换屏幕或仅更改内容视图【英文标题】:Android: switching screens with new activity or just changing content view 【发布时间】:2011-07-25 05:08:43 【问题描述】:

我正在制作一个游戏,我会在战斗结束后从主屏幕进入战斗屏幕,然后返回。将两个屏幕作为单独的活动更好还是我可以使用 setContentView(R.layout.screen2) 获得?

我一直在尝试让活动屏幕切换到工作,但每次尝试时,我的手机都会告诉我应用程序没有响应。如果更好地使用活动,那么我会花时间解决它,但现在我会采取简单的方法来让事情顺利进行。

【问题讨论】:

【参考方案1】:

不建议多次调用 setContentView()。在同一活动中切换布局的常规方法是使用 ViewFlipper 或 FrameLayout(请参阅Calling setContentView() multiple times 和 How can i make a dynamic flipping screen(like that of iPhone) in android

您也可以使用 ViewSwitcher,它似乎非常适合您的需求。 http://inphamousdevelopment.wordpress.com/2010/10/11/using-a-viewswitcher-in-your-android-xml-layouts/有一个很好的详细教程。

【讨论】:

【参考方案2】:

动态更改活动视图的最简单方法是将目标视图膨胀到活动的根 ViewGroup(最好是 FrameLayout)。这只是一行代码

inflater.inflate(R.layout.target_view,(ViewGroup)findViewById(R.id.activity_root_viewgroup), true); 

【讨论】:

以上是关于Android:使用新活动切换屏幕或仅更改内容视图的主要内容,如果未能解决你的问题,请参考以下文章

Android 活动导航

隐藏子屏幕/片段的android底部导航视图

设置内容视图();在我的启动画面活动中出错

工具栏没有隐藏在 android 活动中

Android 地理围栏是不是保持活动状态直到删除/过期或仅在我的 PendingIntent 启动之前

Android:在视图/活动/片段之间滑动切换