什么是非嵌入式活动,为什么 android:fitsSystemWindows 不能在其中工作?

Posted

技术标签:

【中文标题】什么是非嵌入式活动,为什么 android:fitsSystemWindows 不能在其中工作?【英文标题】:What is a non-embedded activity and why doesn't android:fitsSystemWindows work in it? 【发布时间】:2014-11-10 12:51:49 【问题描述】:

我正在尝试在视图上使用android:fitsSystemWindows 属性,这样它就不会被我的半透明导航栏挡住,但它什么也没做。它上面的Android文档说fitsSystemWindows“只有当这个视图在非嵌入式活动中时才会生效。”

什么是嵌入式活动?我有可能不小心创造了一个吗?是否有可能在一个内获得fitsSystemWindows的效果?

【问题讨论】:

【参考方案1】:

嵌入式 Activity 是托管在父 Activity 中的 Activity。常见的例子是 TabHost/TabActivity 设计。特别是,嵌入式 Acitvities 驻留在主机的 LocalActivityManager 中,这在概念上类似于 FragmentManager,后者允许您在另一个 Activity 中显示一个 Activity。

鉴于此定义,很容易理解为什么只有宿主(非嵌入式)Activity 可以支持fitsSystemWindows 属性,因为任何嵌入式 Activity 都被限制在其宿主定义的区域内。

您不太可能不小心创建了一个。

见:android: using ActivityGroup to embed activities

【讨论】:

以上是关于什么是非嵌入式活动,为什么 android:fitsSystemWindows 不能在其中工作?的主要内容,如果未能解决你的问题,请参考以下文章

在android活动中嵌入小部件 - 没有响应

MFC怎么把子窗口嵌入到父窗口中

在不强制用户登录/允许的情况下嵌入公共 Facebook 页面的活动源

可视化调试器中的灰色约束是啥意思?

安全关键嵌入式系统中的Ada例外[已结束]

如何在一条消息中发送多个嵌入?