什么是非嵌入式活动,为什么 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 不能在其中工作?的主要内容,如果未能解决你的问题,请参考以下文章