2013-04-12 24 views
5

GridViewの下部に余分なスペース(空の行のようなもの)を追加できますか?GridViewまたはListViewの下部に余分なスペースを追加

GridViewの一番下までスクロールすると、50dpの空きスペースが追加されます。私はpaddingBottomを50dpに設定しようとしましたが、何も変えていないようです。

+0

あなたのxmlまたはスクリーンショットを入れてください。 – Harshid

答えて

0

代わりにpaddingBottomをコンテナに追加してみてください。リストビューの最後の要素の後にリストビューが追加されるため、リストビューのPaddingBottomは機能しません。これは画面に表示されません。それは無限の高さを持っているようなふりをしています。

もう1つの解決策は、RelativeLayoutを使用し、高さが固定されていて、GridViewがlayout_aboveに設定されている下端とGridViewの間にグラフィック要素がない場合、表示を移動することです。

0

は、このようなものを試してください:

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

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dip" 
     android:layout_weight="1" 
     android:orientation="vertical" > 

     <GridView 
      android:id="@+id/gridUsers" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:clipChildren="true" 
      android:columnWidth="100dp" 
      android:fastScrollEnabled="true" 
      android:gravity="center" 
      android:numColumns="auto_fit" 
      android:scrollbars="none" 
      android:stretchMode="columnWidth" > 
     </GridView> 

     <TextView 
      android:id="@android:id/empty" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center" 
      android:padding="10dp" 
      android:textColor="#f1f1f1" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:visibility="gone" > 
     </TextView> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linlaProgressBar" 
     android:layout_width="fill_parent" 
     android:layout_height="50dp" 
     android:gravity="center" 
     android:orientation="horizontal" > 
    </LinearLayout> 

</LinearLayout> 

私はより多くのデータをロードする際linlaProgressBarのIDを持つLinearLayoutProgressBarのコンテナとして機能するアプリケーションでこれを使用します。

この例ではGridViewを示していますが、それをListViewに置き換えると同じ結果が得られます。

0

ListViewを使用すると、残念ながらGridViewでフッターを追加することはできません。私はあなたが望む高さの空の行を追加することが最もクリーンなソリューションであることをお勧めします。

1

あなたは自分のGridViewAdapterはArrayAdapterを拡張し、実現することができます:

50ピクセル see View.setPadding(int, int, int, int)

の一番下のパディングであり、あなたがGridItemViewレイアウトマストが アンドロイドこと

@Override public int getCount() { return gridArray.size(); } @Override public View getView(int position, View convertView, ViewGroup parent) { //... if (getCount()-1 == position) { convertView.setPadding(0, 0, 0, 50); } else { convertView.setPadding(0, 0, 0, 0);; } return convertView; } 

:layout_height = "wrap_content"

11

私はあなたのことを正しく理解すると、次のようになります:

簡単な解決策は、マチェイによりここで言及されていることのために:あなたはちょうどあなたのGridViewのレイアウトに以下を追加する必要がありますHow to add extra space inside at the bottom of a GridView

<GridView 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="50dp" 
android:clipToPadding="false"/> 

最も重要な部分はclipToPadding属性ですこれはfalseに設定する必要があります。

また、この溶液が言及されているGoogleの、から応じてブログ記事を見ることができます:https://plus.google.com/+AndroidDevelopers/posts/LpAA7q4jw9M

+0

FYI、重複した回答は好ましくありません。むしろ、1つの回答を投稿し、必要に応じて参照用のリンクを付ける必要があります。 –

+0

私は元のものから回答自体を複製していません。私はそれを調整した、私は所有者に信用を与え、私はここでこの答えを示しています。 – Elementary

+0

私の重複した回答の平均は、Stackoverflowで同じ内容の同じ回答を投稿したことでした。 –

関連する問題