-1

GridView に基づいてカレンダーを生成する Caldroid Fragment があります。それは完全な画面を取ります。次に、このアクティビティの下部に AdView を追加しました。問題は、バナーがグリッドの一部のセルを覆っているため、ユーザーがクリックできないことです。基本的に、GridView の内部にマージンを設定して、ユーザーがカレンダーを下にスクロールできるようにしたいと考えています。カレンダーが最後に到達すると、さらにマージンをスクロールし続けます。このマージンは、バナーの高さで設定されます。

必要に応じてカルドロイド コードを変更する予定ですが、GridView でこの効果を生成する方法が見つかりません。下部のパディングを設定すると、AdView のオーバーラップを回避できますが、幅全体を破棄することで、バナーが完全に下にスクロールされていないときに、バナーの左右にカレンダーを表示したいと考えています。

可能な解決策:

-おそらく、アダプターによって生成されたセルにマージンを追加することで実行できますが、最後の行からのものかどうかを知る必要があります。getItemId を使用すると常に 0 が返され、メソッド getClipBounds および getClipToOutline は API 21 に制限されます。

4

2 に答える 2

0

内側のマージンが必要な理由がわかりませんでした。GridView と AdView を同じ RelativeLayout に配置できませんか

GridView で

android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="x" 

AdView で

android:layout_alignParentBottom="true"

x は AdView の高さです

重複しない、機能的なスクロール。

于 2015-05-13T12:49:52.107 に答える
0

GirdViewで android:paddingBottom= とともに android :clipToPadding="false " を使用します

<GridView android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="16dip"
    android:clipToPadding="false" />
于 2015-05-13T12:47:43.523 に答える