android - 线性布局bringToFront()

时间:2013-05-23 16:28:01

标签: android android-linearlayout

我的线性布局中有4个按钮,我需要将第一个按钮带到前面。

正常顺序是

    Button 1 | Button 2 | Button 3 | Button 4

但是当我调用button1.bringToFront()函数时,button1将结束如

    Button 2 | Button 3 | Button 4 | Button 1

我该如何解决这个问题。相对布局不会导致此问题,但我必须使用LinearLayout,因为按钮将垂直排序,我在某些条件下删除按钮。

由于

4 个答案:

答案 0 :(得分:7)

LinearLayout不适用于z轴,因此,它的名称为linear。尝试使用RelativeLayout然后调用bringToFront()以获得所需的效果。使用RelativeLayout,您可以致电layout_alignBollow垂直订购视图。或者,您可以在LinearLayout嵌套RelativeLayoutButtons嵌套视图和布局(请注意这种方法,因为添加太多视图可能是坏事)。

答案 1 :(得分:1)

由于bringToFront混淆了LinearLayout订单,我决定使用RelativeLayout并将"顶部"视图(我希望在顶部的视图)最后在XML中。

示例:

<RelativeLayout ...>

    <ViewBelow
        android:layout_below="@+id/view_on_top"
        ...
        />

    <!-- Last view in XML appears above other views on screen -->
    <ViewOnTop
        android:id="@+id/view_on_top"
        ...
        />

</RelativeLayout>

在此问题的特定情况下,ViewOnTop将是按钮1,ViewBelow将是包含其他按钮的LinearLayout

答案 2 :(得分:1)

如果必须在LinearLayout中使用z轴,则可以使用setTranslationZ函数。

示例:

yourView.setTranslationZ(100);

答案 3 :(得分:0)

让您的布局调用forceLayout()以禁用重新排列布局。