android:gravity
属性を正しく設定してみてください。動作する必要があります。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:gravity="bottom|center_horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<ImageView android:id="@+id/calendarheader" android:src="@color/blue_start"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:minWidth="250dp" android:minHeight="30dp">
</ImageView>
</LinearLayout>
<GridView android:id="@+id/calendar" android:numColumns="7"
android:layout_gravity="top"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:background="@color/blue_start">
</GridView>
</LinearLayout>
ここでは単純な色の背景を使用していますが、ギャップはありません:

それでも問題が解決しない場合blue_bg_with_text2
は、下部に空のピクセルがあるかどうかにかかわらず、画像が表示されるはずです。
ps: そのandroid:minWidth="250dp" android:minHeight="30dp"
部分は無視してください。そのサイズの画像を模倣するためにあります。
アップデート
RelativeLayout を使用した同じビューを次に示します (少なくとも私にとっては少し明確です)。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:id="@+id/selectedDayMonthYear"
android:textColor="#000000" android:layout_gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0px" android:layout_height="0px" />
<ImageView android:id="@+id/prevMonth" android:src="@drawable/cal_left_arrow_off2"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@+id/nextMonth" android:src="@drawable/cal_right_arrow_off2"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true" />
<Button android:id="@+id/currentMonth" android:layout_weight="0.6"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@drawable/calendar_bar2" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/prevMonth"
android:layout_toLeftOf="@id/nextMonth"
android:layout_alignBottom="@id/prevMonth"
android:layout_alignTop="@id/prevMonth" />
<ImageView android:id="@+id/calendarheader" android:src="@drawable/calendarheader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="25dp"
android:layout_centerInParent="true"
android:layout_below="@id/currentMonth"
android:layout_margin="0dp"
android:scaleType="fitXY" />
<GridView android:id="@+id/calendar" android:numColumns="7"
android:layout_gravity="top" android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/calendarheader"
android:layout_margin="0dp"
android:background="@color/white_fader_end">
</GridView>
</RelativeLayout>
背景としてリソースを追加しました (そのうちの 2 つは、実際にはあなたのスクリーンショットです)。私が観察したことは、あなたがしなければならないということです
- カレンダーのヘッダーの背景に静止画像を使用するか、
- xml ドローアブルを使用する場合は、そこからストローク要素を削除するか、
android:width
0 に設定する必要があります
そうしないと、ビューのドローアブルの周りに、指定したストローク幅と同じ幅の不要なギャップが追加されます。
背景として静的画像を使用した私の出力は次のようになります。

更新 2
問題は、カレンダー ヘッダーと gridView の間ではなく、 gridView 内にあります。
内部に 5 ピクセルの「パディング」があります (実際のパディングではありません。どのようにそこに到達するかを確認してください)。
のデフォルトselector
はGridView
、境界線が 5px の 9x9 パッチ長方形です。
その 5 ピクセルは、gridView 全体に表示されます。xml を使用して、このグリッドに別の listSelector を指定できます。
android:listSelector="@drawable/grid_selector"
またはコードから(onCreate):
gridView.setSelector(R.drawable.grid_selector);
grid_selector が画像であるか、マージンのない描画可能な xml である場合、問題の原因となるギャップはなくなりました。
また、背景色を gridView に設定することで、カレンダー ヘッダーの背景色と一致または勾配をつけて、そのギャップを隠すこともできます。