8

線形レイアウトに 4 つのボタンがあり、最初のボタンを前面に出す必要があります。

通常の注文は

    Button 1 | Button 2 | Button 3 | Button 4

しかし、button1.bringToFront()functionを呼び出すと、次button1のように終了します

    Button 2 | Button 3 | Button 4 | Button 1

どうすればこの問題を解決できますか。相対レイアウトではこの問題は発生しませんがLinearLayout、ボタンが垂直に並べられ、いくつかの条件でボタンを削除しているため、使用する必要があります。

ありがとう

4

4 に答える 4

10

LinearLayoutz 軸では機能しないため、 namelinearです。RelativeLayouta を使用してから呼び出しbringToFront()て、目的の効果を得てみてください。を使用すると、ビューを垂直方向に並べ替えるRelativeLayoutことができます。layout_alignBollowまたは、たとえば、ビューとレイアウトを入れ子にすることもできます。たとえば、LinearLayout入れ子RelativeLayout内に 3 つを配置できますButtons(ビューを追加しすぎると問題が生じる可能性があるため、このアプローチには注意してください)。

于 2013-05-23T16:41:43.687 に答える
0

順序がbringToFront乱れるので、XML の最後に「トップ」ビュー (一番上に表示したいビュー) を使用することにしました。LinearLayoutRelativeLayout

例:

<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 になり、ViewBelowLinearLayout他のボタンを含む になります。

于 2015-07-10T12:26:48.637 に答える
0

レイアウトで を呼び出して、レイアウトのforceLayout()再配置を無効にします。

于 2014-01-19T06:32:56.670 に答える