1

さまざまな投稿を閲覧し続けていますが、すべての投稿でフッターが画面にとどまろうとしています。

しかし、フッターをすべてのページに表示したい。私のページにはスクロールがないものとあるものがあります。スクロールがあるときはいつでも、スクロールの下にフッターを表示したいと思います。どうすればそれができますか?

たとえば、次のページがあるとします。

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

<ScrollView
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >    

<LinearLayout 
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >    

<TextView
    android:id="@+id/page_exlain"    
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Some text that either extends far down or is pretty short."
    android:layout_marginTop ="20dp" 
    />          


</LinearLayout>

</ScrollView>

</LinearLayout>

スクロールせずに見えるとは限らないフッターをこれに追加する良い方法は何ですか?

ありがとう!

4

1 に答える 1

4

これを行う私の方法は、親レイアウト内に 2 つの線形レイアウトを配置することです。最初のものは、私がコンテンツ領域と呼んでいるもので、重みは 1 です。つまり、親ビューからできるだけ多くのスペースを取ろうとします。一方、フッター レイアウトには重みがないため、他のビュー (コンテンツ領域) が空であっても、内部のコンテンツに一致する高さのままになります。

フッターは常に画面の下部にあるため、2 つの要素の配置を壊したり、フッターの位置を気にしたりすることなく、このレイアウトscrollviewの一部内に a またはその他のタイプのレイアウト を追加できます。content

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/main"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:orientation="vertical" >
<LinearLayout
                    android:id="@+id/content"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical" >
</LinearLayout>
<LinearLayout
                    android:id="@+id/footer"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" >
</LinearLayout>

前のコードに少しコンテンツを追加すると、次のようになります。非常に単純化されていることに注意してください。適切な weight プロパティを理解している限り、必要に応じて問題なく変更できます。

ここに画像の説明を入力

「コンテンツ」LinearLayoutを親のコンテンツであるかのように扱い、スクロールビューなどを挿入し、フッターを忘れる必要があります。フッターが再帰的である場合、つまり複数回使用する場合は、すべてのレイアウトにコピーせずに xml に直接読み込むことができます。

<include layout="@layout/footer" />

再利用するフッターのコンテンツを含むレイアウト フォルダー内の xml ファイルはどこ@layout/footerにありますか。これは、手動で追加するのとほぼ同じですが、複数のファイルにわたって維持する必要がないという便利さがあります。

私がお役に立てば幸いです。

于 2012-05-14T00:22:19.820 に答える