GridViewの下部に余分なスペース(空の行のようなもの)を追加できますか?GridViewまたはListViewの下部に余分なスペースを追加
GridViewの一番下までスクロールすると、50dpの空きスペースが追加されます。私はpaddingBottom
を50dpに設定しようとしましたが、何も変えていないようです。
GridViewの下部に余分なスペース(空の行のようなもの)を追加できますか?GridViewまたはListViewの下部に余分なスペースを追加
GridViewの一番下までスクロールすると、50dpの空きスペースが追加されます。私はpaddingBottom
を50dpに設定しようとしましたが、何も変えていないようです。
代わりにpaddingBottomをコンテナに追加してみてください。リストビューの最後の要素の後にリストビューが追加されるため、リストビューのPaddingBottomは機能しません。これは画面に表示されません。それは無限の高さを持っているようなふりをしています。
もう1つの解決策は、RelativeLayoutを使用し、高さが固定されていて、GridViewがlayout_aboveに設定されている下端とGridViewの間にグラフィック要素がない場合、表示を移動することです。
は、このようなものを試してください:
<?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を持つLinearLayout
がProgressBar
のコンテナとして機能するアプリケーションでこれを使用します。
この例ではGridView
を示していますが、それをListView
に置き換えると同じ結果が得られます。
ListViewを使用すると、残念ながらGridViewでフッターを追加することはできません。私はあなたが望む高さの空の行を追加することが最もクリーンなソリューションであることをお勧めします。
あなたは自分の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"
を私はあなたのことを正しく理解すると、次のようになります:
簡単な解決策は、マチェイによりここで言及されていることのために:あなたはちょうどあなたの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
FYI、重複した回答は好ましくありません。むしろ、1つの回答を投稿し、必要に応じて参照用のリンクを付ける必要があります。 –
私は元のものから回答自体を複製していません。私はそれを調整した、私は所有者に信用を与え、私はここでこの答えを示しています。 – Elementary
私の重複した回答の平均は、Stackoverflowで同じ内容の同じ回答を投稿したことでした。 –
あなたのxmlまたはスクリーンショットを入れてください。 – Harshid