如何在没有视图更改索引的情况下将视图置于LinearLayout的顶部?

时间:2016-05-15 04:00:33

标签: android android-linearlayout

例如,以下是LinearLayout中的6个子视图。

  • 的LinearLayout
    • View0
    • 视图1
    • 视图2
    • VIEW3
    • View4
    • View5

在某些情况下,我想将View0放在其他视图的顶部,也就是说,View0不能与其他视图重叠。

有方法bringToFrontbringChildToFront,它们会将View0的索引更改为:

  • 的LinearLayout
    • 视图1
    • 视图2
    • VIEW3
    • View4
    • View5
    • View0

我尝试了ViewCompat.setTranslationZ方法,但是它不起作用。

如何在不更改View0索引的情况下将View0置于其他视图之上?

2 个答案:

答案 0 :(得分:1)

您需要继承LinearLayout,使用setChildDrawingOrderEnabled(true),并覆盖getChildDrawingOrder()以最后返回该项目的索引。

因此,在您的示例中,您将在getChildDrawingOrder(int childCount, int i)中返回以下内容:

return (childCount + (i-1)) % childCount;

答案 1 :(得分:0)

尝试将View0的布局重力设置为comboBox.setEditable(true); TextFields.bindAutoCompletion(comboBox.getEditor(), comboBox.getItems());