web-dev-qa-db-ja.com

Androidビュー上のフローティングボタン

私は自分のビューにフローティングボタンを表示しようとしていましたが、グーグルで検索したところ、このリンクを見つけました。

http://www.jondev.net/articles/Floating_Views_in_Android_(Buttons)

これは1つのボタンにも当てはまりますが、2つのフローティングボタンを「左上」と「右下」に配置したい場合はどうすればよいでしょうか。

レイアウトの重力が異なる2つのボタンがある相対的なレイアウトを考えました。これは機能しますか。私はそれを試しましたが、惨めに失敗しました。他の誰かがこれをやろうとしましたか?これを行う方法はありますか?もしそうなら、私に知らせてください。

13
Thebestshoot

あなたはRelativeLayoutでそれを達成することができます:

<RelativeLayout
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" >

    <ListView
        Android:id="@+id/listView1"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent" >
    </ListView>

    <Button
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true"
        Android:layout_alignParentRight="true"
        Android:layout_marginBottom="15dp"
        Android:layout_marginRight="15dp"
        Android:text="Button" />
</RelativeLayout>

最後に追加されたウィジェットが一番上にあることに注意してください。

22
Thommy

RelativeLayoutを使用してそれを行うこともできますが、FrameLayoutを使用してそれを行うこともできます(リンクの例のように)。 FrameLayoutでボタンに適切な重力を設定します(Gravity.BOTTOM|Gravity.RIGHT、またはXML経由...)、およびRelativeLayoutで、必要なルールをボタンに設定します。

Android:layout_alignParentBottom="true"
Android:layout_alignParentRight="true"

等.

2
avimak
<RelativeLayout
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent" >

    <ListView
        Android:id="@+id/listView1"
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent" >
    </ListView>
    <Button
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentTop="true"
        Android:layout_alignParentLeft="true"
        Android:layout_marginTop="15dp"
        Android:layout_marginLeft="15dp"
        Android:text="Button" />
    <Button
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true"
        Android:layout_alignParentRight="true"
        Android:layout_marginBottom="15dp"
        Android:layout_marginRight="15dp"
        Android:text="Button" />
</RelativeLayout>
1
IronBlossom