1

私はこのアクティビティを持っています

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="@dimen/padding_large"
    android:background="@color/dark_grey">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/filter_activities"
        android:background="@drawable/filter_btn"
        android:textColor="@color/white"
        android:textAlignment="gravity"
        android:id="@+id/show_filter_btn"
        android:padding="@dimen/padding_medium"
        android:gravity="center"
        android:layout_gravity="center"
        android:drawableRight="@drawable/ic_settings"/>

</LinearLayout>
<FrameLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/top" />

</LinearLayout>

そして onCreate この Fragment を FrameLayout にロードします

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/types_spinner" />

<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/classes_spinner" />

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/venues_list" />

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/search" />
</LinearLayout>

このアプリを実行するとこのようにページが表示されます

ここに画像の説明を入力

ご覧のとおり、ボタンは画面の下部にあります。ボタンが常に一番下にあるようにレイアウトを変更するにはどうすればよいでしょうか。

4

1 に答える 1

1

LinearLayout を RelativeLayout に置き換える必要があります。android:layout_alignParentBottom="true" でボタンを設定し、linearLayout に残りのビューを配置します。この linearLayout は、最初のボタンの layout_alignParentTop および layoutAbove である必要があります。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/search"
    android:id="@+id/my_button"
    android:layout_alignParentBottom="true" />
<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_above="@id/my_button">
    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/types_spinner" />

    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/classes_spinner" />

    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/venues_list" />
</LinearLayout>

</RelativeLayout>
于 2013-10-01T16:14:12.127 に答える