Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在视图层次结构的顶部插入Android视图_Java_Android_View - Fatal编程技术网

Java 在视图层次结构的顶部插入Android视图

Java 在视图层次结构的顶部插入Android视图,java,android,view,Java,Android,View,我想知道是否可以为我的Android应用程序在视图层次结构的顶部添加视图。目前,我有一个从外部服务接收信息的类。我想向用户显示作为自定义警报接收的信息。是否可以将此自定义视图插入全局视图层次结构的顶部,以便它显示在所有其他视图的上方。我不想开始新的活动,只想在当前显示的内容上添加视图 是的。访问根视图与查找它一样简单 在活动中: FrameLayout root = (FrameLayout) findViewById(android.R.id.content); 由于根目录是一个FrameL

我想知道是否可以为我的Android应用程序在视图层次结构的顶部添加视图。目前,我有一个从外部服务接收信息的类。我想向用户显示作为自定义警报接收的信息。是否可以将此自定义视图插入全局视图层次结构的顶部,以便它显示在所有其他视图的上方。我不想开始新的活动,只想在当前显示的内容上添加视图

是的。访问根视图与查找它一样简单

在活动中:

FrameLayout root = (FrameLayout) findViewById(android.R.id.content);
由于根目录是一个
FrameLayout
,您只需向它添加一个
视图
,它就可以位于顶部。但是,请注意,如果在添加此视图后添加其他视图,则Z顺序将更改。在这种情况下,您必须使用
视图组#bringChildToFront(视图视图)
将其恢复到顶部

编辑:


也可以使用从另一个视图获取根视图。这并不总是可靠的,因为视图可能没有附加到层次结构(在这种情况下,视图本身就是根)。或者它的父级可能不在层次结构中(在这种情况下,父级本身将是根)。

是。访问根视图与查找它一样简单

在活动中:

FrameLayout root = (FrameLayout) findViewById(android.R.id.content);
由于根目录是一个
FrameLayout
,您只需向它添加一个
视图
,它就可以位于顶部。但是,请注意,如果在添加此视图后添加其他视图,则Z顺序将更改。在这种情况下,您必须使用
视图组#bringChildToFront(视图视图)
将其恢复到顶部

编辑:


也可以使用从另一个视图获取根视图。这并不总是可靠的,因为视图可能没有附加到层次结构(在这种情况下,视图本身就是根)。或者它的父级可能不在层次结构中(在这种情况下,父级本身将是根)。

如果我想在非活动的类中找到根视图,该怎么办?@AlexWilson:我不确定你的意思。类是Java构造,它们没有视图。这就是我想知道的,所以我无法实例化视图类并将其从非视图或非活动类添加到全局视图树中?@AlexWilson:活动窗口和视图层次结构由活动控制。如果没有“活动”,则无法添加到当前视图层次结构。但是,您可以从服务中创建一个新窗口,并向其中添加视图,这就是Facebook Messenger使用聊天头所做的。这不会包含在你的应用程序中,但这正是你要问的。如果我想在一个不是活动的类中找到根视图,该怎么办?@AlexWilson:我不知道你的意思。类是Java构造,它们没有视图。这就是我想知道的,所以我无法实例化视图类并将其从非视图或非活动类添加到全局视图树中?@AlexWilson:活动窗口和视图层次结构由活动控制。如果没有“活动”,则无法添加到当前视图层次结构。但是,您可以从服务中创建一个新窗口,并向其中添加视图,这就是Facebook Messenger使用聊天头所做的。这将不会包含在你的应用程序中,尽管这是你所要求的。