2011-02-04 7 views
1

ListViewの下にImageViewを追加したいと思います。ListActivityです。ユーザーがリストの最後までスクロールすると、ImageViewが表示されます。ImageViewをListActivityに追加

レイアウトが正しく表示されないようです。 ImageViewのいずれかが表示されないか、またはlayout_weightsを使用すると、ListViewImageViewの両方が画面の50%を取得します。どのように私は私が欲しいものを得ることができる任意のアイデア?ありがとう。

<?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" > 

    <ListView 
     android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 

    <TextView 
     android:id="@+id/android:empty" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/list_no_items" /> 

    <ImageView 
     android:id="@+id/instruct_image" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/instructions"/> 
</LinearLayout> 

答えて

2

残念ながら、あなたが達成したいことは、標準のAndroidレイアウトでは簡単にはできないと思います。別のScrollViewの中にListViewを含めることはできません。

ListViewフッターを使用して、ImageViewをListViewの下に配置することができます。

または、リストビューの最後の行にImageViewを追加することができます。これを行うには、アダプタのメソッドをオーバーライドし、最後の行である場合はImageViewを返します。

+0

ImageViewが画面全体を埋めるのに十分な大きさなので、フッターは使用できません。 getViewメソッドを試してみるつもりですが、どうやってそれを行うかはわかりません。それは私が望むものを与えた各リストビュー項目に画像を正常に追加したので可能になるはずです(画像が10回現れたという事実を除いて)。 – user432209

+0

さて、ImageViewが画面全体を占めないように設定することができます。しかし、それが常に目に見えるようにしたくなければ、それは理にかなっていません。 ListViewのアプローチでは、アダプターの最後にダミー要素を追加し、次にgetViewでif(isDummyElement())showImage()else showNormalListView()をチェックします。それはまだちょっとしたハックですが、私はよりクリーンな方法を考えることはできません。 –

+0

さて、たくさんの作業の後、私は 'getView'を使ってこれを動作させました。それはハックのように見えるが、まさに私が望むものだ。ありがとう。 – user432209

関連する問題