Android使用GridView實現日歷功能(詳細代碼),代碼有點多,發個圖先:
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/lay_title"
android:layout_width="fill_parent" >
<TextView
android:id="@+id/btn_back"
/>
<TextView
android:id="@+id/tv_top"
android:text="請選擇日期" />
<TextView
android:id="@+id/btn_goback_to_today"
android:text="今天" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="53.0dip"
android:background="#ff394147"
android:gravity="center_vertical" >
<LinearLayout
android:id="@+id/btn_prev_month"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="0.2"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/left_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/triangle06_states"
android:duplicateParentState="true"
android:text=""
android:textSize="16.0dip" />
</LinearLayout>
<LinearLayout
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="0.6"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_month"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="xxxx年14月"
android:textColor="#ffffffff"
android:textSize="21.0dip" />
</LinearLayout>
<LinearLayout
android:id="@+id/btn_next_month"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_weight="0.2"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/right_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/triangle05_states"
android:duplicateParentState="true"
android:text=""
android:textSize="16.0dip" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="22.0dip"
android:background="#ff8091a8" >
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:text="周日"
android:textColor="#ffffffff"
android:textSize="14.0dip" />
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:text="周一"
android:textColor="#ffffffff"
android:textSize="14.0dip" />
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:text="周二"
android:textColor="#ffffffff"
android:textSize="14.0dip" />
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:text="周三"
android:textColor="#ffffffff"
android:textSize="14.0dip" />
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:text="周四"
android:textColor="#ffffffff"
android:textSize="14.0dip" />
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:text="周五"
android:textColor="#ffffffff"
android:textSize="14.0dip" />
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center"
android:text="周六"
android:textColor="#ffffffff"
android:textSize="14.0dip" />
</LinearLayout>
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00000000"
android:clickable="true"
android:clipChildren="true"
android:columnWidth="55.0dip"
android:horizontalSpacing="1.0dip"
android:listSelector="@null"
android:numColumns="7"
android:paddingBottom="1.0dip"
android:stretchMode="columnWidth"
android:verticalSpacing="1.0dip" />
</LinearLayout>