是否可以使ListView中的項目具有不同的z位置/索引?ListView項目的不同z位置
我希望我的ListView中的一個項目始終位於我的佈局中的其他視圖之上。
見我的說明這裏:
紅色條是ListView的外部的另一視圖(在我的情況下的垂直搜索條)。
我試過在某個項目上調用View.bringToFront()
,但那根本不起作用。
任何想法?
是否可以使ListView中的項目具有不同的z位置/索引?ListView項目的不同z位置
我希望我的ListView中的一個項目始終位於我的佈局中的其他視圖之上。
見我的說明這裏:
紅色條是ListView的外部的另一視圖(在我的情況下的垂直搜索條)。
我試過在某個項目上調用View.bringToFront()
,但那根本不起作用。
任何想法?
這是我會怎麼去實現你想要的效果:
列表中的每個項目應該有一個紅色的酒吧,是該項目的高度。這樣,所有紅色的酒吧排成一排,看上去好像只有一個紅色的酒吧,而實際上每個酒店都有一個酒吧。
如果您使用的是FrameLayout
,則子女的順序決定了繪圖順序,例如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>
就像從而使物體在其頁面位置當用戶與頁面交互向前或向後移動,你可以改變'Z-index'任何價值。 – Andrew 2013-04-30 10:12:53
@Andrew更改視圖的Z-index將會改變相對於其兄弟視圖**的位置**。在ListView中,列表中的所有項目都是兄弟,但是由於列表項不重疊,所以更改Z-index將不起作用。更改列表中的一個項目的Z索引將不會**使其向前跳轉到另一個視圖的前面,該視圖不是** ListView中的視圖的兄弟。 – 2013-05-06 17:16:59