ヘッダー/フッターと同様に、GridViewの上部と下部にスペースを追加したいのですが、サポートするのはスペースだけで、他には何もありません。
現在、上/下のパディングを使用していますが、スクロールすると、コンテンツがパディング部分でトリミングされます。
これに対する最も簡単な解決策は何ですか?ありがとう!
paddings(スペースを追加するinsideビュー)を使用する代わりに、margins(スペースを追加するousideビュー)を使用します)::
追加
Android:layout_marginTop="40dp"
Android:layout_marginBottom="40dp"
gridView(またはいくつかの異なる値)に
[編集]
OPの説明によると、「スペース」は修正され、すべてのGridViewはスクロール可能である必要があります。
したがって、私は次のように設計しています(固定されたヘッダーとフッターとして機能するように、アンカーされたTextViewのペアを設定することによって):
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@Android:color/black"
Android:padding="8dp"
>
<!-- Header -->
<TextView
Android:id="@+id/txtHeader"
Android:layout_width="match_parent"
Android:layout_height="48dp"
Android:layout_alignParentTop="true"
Android:background="#ff00"
Android:gravity="center"
Android:text="Header"
Android:textColor="@Android:color/white"
Android:textSize="24sp"
Android:textStyle="bold"
/>
<!-- Footer -->
<TextView
Android:id="@+id/txtFooter"
Android:layout_width="match_parent"
Android:layout_height="48dp"
Android:layout_alignParentBottom="true"
Android:background="#ff00"
Android:gravity="center"
Android:text="Footer"
Android:textColor="@Android:color/white"
Android:textSize="24sp"
Android:textStyle="bold"
/>
<!-- The Grid -->
<!-- <GridView -->
<!-- Android:id="@+id/grdIcons" -->
<!-- Android:layout_width="match_parent" -->
<!-- Android:layout_height="match_parent" -->
<!-- Android:layout_above="@id/txtFooter" -->
<!-- Android:layout_below="@id/txtHeader" -->
<!-- Android:background="#f0f0" -->
<!-- Android:textColor="@Android:color/white" -->
<!-- Android:textSize="24sp" -->
<!-- Android:textStyle="bold" -->
<!-- /> -->
<GridView
Android:id="@+id/grdIcons"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_above="@id/txtFooter"
Android:layout_below="@id/txtHeader"
Android:background="#f00f"
Android:textColor="@Android:color/white"
Android:textSize="24sp"
Android:textStyle="bold"
Android:columnWidth="64dp"
Android:numColumns="auto_fit"
Android:verticalSpacing="8dp"
Android:horizontalSpacing="8dp"
Android:stretchMode="none"
Android:gravity="center"
/>
</RelativeLayout>
この例では、ヘッダーはvisible(赤でテキスト付き)ですが、テキスト属性に関連する部分をいつでも切り取り、色を#00に設定できます。 (トランスペアレント)
結果は次のとおりです。
私があなたを正しく理解しているなら、それはこのように見えるはずです:
そのための簡単な解決策は、Maciejによってここで言及されています: GridViewの下部に内部に余分なスペースを追加する方法
GridViewレイアウトに以下を追加する必要があります。
<GridView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingTop="50dp"
Android:paddingBottom="50dp"
Android:clipToPadding="false"/>
最も重要な部分は、falseに設定する必要があるclipToPadding属性です。
この解決策が言及されているGoogleからの対応するブログ投稿も見ることができます: https://plus.google.com/+AndroidDevelopers/posts/LpAA7q4jw9M