ListView项目的z位置不同

use*_*243 10 android listview z-index always-on-top

是否可以使ListView中的项具有不同的z位置/索引?

我希望ListView中的一个项目始终位于我的布局中的其他视图之上.

请看我的插图:

在此输入图像描述

红色条是ListView外部的另一个视图(在我的例子中是一个垂直搜索条).

我曾尝试过调用View.bringToFront()某个项目,但这根本不起作用.

有任何想法吗?

sat*_*ine 1

以下是我将如何实现您想要的效果:

列表中的每个项目都应该有一个红色条,表示该项目的高度。这样,所有红条都排成一行,看起来好像只有一个红条,而实际上每项都有一个红条。

如果您使用 a FrameLayout,则子项的顺序决定绘制顺序,例如 a 的第三个子项FrameLayout将出现在第一个和第二个子项之上。

然后在运行时,您可以将红色条排列在每个项目的内容上方或下方。在bindView适配器的方法中,您可以使用该bringToFront方法将红色条带到该视图的前面。不要忘记视图会在 中循环使用,ListView因此您每次都需要将红色条移动到正确的 z 位置。

以下是视图中某个项目的非常精简的示例 XML 文件,如果您需要更多信息,请告诉我。

item_red_bar_bottom.xml:

<FrameLayout ...>
   <ImageView .../> <!-- Red bar on bottom -->
   <FrameLayout ...>
       <!-- Normal item contents go here -->
   </FrameLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)