如何在 android:id/content 处直接向 FrameLayout 添加元素?
How to add elements directly to FrameLayout at android:id/content?
我在理解 app/device 的视图层次结构方面遇到了一些问题(因为我的应用程序的启动画面存在一些问题)。
基本上,我的应用程序是一款 openGL ES 2.0 游戏,具有以下元素:
- Splashscreen 的视图(这是标准 Android 视图)
- 主应用程序的视图(这是一个 GLSurfaceView)
- 资源在后台加载(在 AsyncTask 中)
我正在做的就是这个:
正在创建我的布局
layout = new RelativeLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
添加我的 GLSurfaceView 和 Splashscreen
layout.addView(myGLView);
layout.addView(splashscreen); //loads resources on an AsyncTask
删除闪屏
当一切都加载并准备就绪后,我只需删除 Splashscreen 以显示下面的 GLSurfaceView:
layout.removeView(splashscreen);
在检查我的应用的视图层次结构时,我看到以下内容:
- 我的应用程序的浏览量
- 另一个应用的浏览量
如上图所示,我的应用程序具有 RelativeLayout,这是我在代码中创建的布局(见上文)。然后将其添加到 FrameLayout 中,其资源 ID 为 android:id/content.
我已经从 Play 商店下载了 3 个应用并检查了它们的布局,它们的视图都列在 正下方 这个 FrameLayout .
我的问题是这个 FrameLayout 到底是什么,我怎样才能访问它并直接向它添加我的视图(主应用程序、横幅广告、闪屏)?
我环顾四周,none 我读过的东西确实回答了我的问题。
它是 activity 的根视图,可以像这样获取:
FrameLayout frame = (FrameLayout) findViewById(android.R.id.content);
我在理解 app/device 的视图层次结构方面遇到了一些问题(因为我的应用程序的启动画面存在一些问题)。
基本上,我的应用程序是一款 openGL ES 2.0 游戏,具有以下元素:
- Splashscreen 的视图(这是标准 Android 视图)
- 主应用程序的视图(这是一个 GLSurfaceView)
- 资源在后台加载(在 AsyncTask 中)
我正在做的就是这个:
正在创建我的布局
layout = new RelativeLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
添加我的 GLSurfaceView 和 Splashscreen
layout.addView(myGLView);
layout.addView(splashscreen); //loads resources on an AsyncTask
删除闪屏
当一切都加载并准备就绪后,我只需删除 Splashscreen 以显示下面的 GLSurfaceView:
layout.removeView(splashscreen);
在检查我的应用的视图层次结构时,我看到以下内容:
- 我的应用程序的浏览量
- 另一个应用的浏览量
如上图所示,我的应用程序具有 RelativeLayout,这是我在代码中创建的布局(见上文)。然后将其添加到 FrameLayout 中,其资源 ID 为 android:id/content.
我已经从 Play 商店下载了 3 个应用并检查了它们的布局,它们的视图都列在 正下方 这个 FrameLayout .
我的问题是这个 FrameLayout 到底是什么,我怎样才能访问它并直接向它添加我的视图(主应用程序、横幅广告、闪屏)?
我环顾四周,none 我读过的东西确实回答了我的问题。
它是 activity 的根视图,可以像这样获取:
FrameLayout frame = (FrameLayout) findViewById(android.R.id.content);