[英]Insert Android view at the top of the view hierarchy
我想知道是否可以在Android应用程序的视图层次结构顶部添加视图。 当前,我有一个从外部服务接收信息的类。 我想向用户显示作为自定义警报收到的信息。 是否可以将此自定义视图插入全局视图层次结构的顶部,以便使其显示在所有其他视图之上。 我宁愿不开始新的活动,只需在当前显示的内容之上添加视图。
是。 访问根视图就像找到它一样容易。
在活动中:
FrameLayout root = (FrameLayout) findViewById(android.R.id.content);
由于根是FrameLayout
,您只需向其添加一个View
即可使其位于顶部。 但是,请注意,如果在添加其他视图后添加其他视图,则Z顺序将发生变化。 在这种情况下,您必须使用ViewGroup#bringChildToFront(View view)
将其带回到顶部。
编辑:
也可以使用View#getRootView()从另一个View获取根视图。 这并不总是可靠的,因为视图可能未附加到层次结构(在这种情况下,视图本身就是根)。 否则它的父级可能不在层次结构中(在这种情况下,父级本身将是根级)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.