日历视图(CalendarView)可用于显示和选择日期,可以通过触摸滚动日历视图,可以用 setOnDateChangeListener 来实现日期选择的监听
布局文件 main_calendar.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<CalendarView
android:id="@+id/calendarview"
android:layout_width="match_parent"
android:layout_height="400dp"
android:firstDayOfWeek="1"
android:focusedMonthDateColor="#f00"
android:selectedWeekBackgroundColor="#aff"
android:shownWeekCount="6"
android:unfocusedMonthDateColor="#f9f"
android:weekSeparatorLineColor="#ff0" />
</LinearLayout>
android 代码:
import android.app.Activity;
import android.os.Bundle;
import android.widget.CalendarView;
import android.widget.Toast;
import android.widget.CalendarView.OnDateChangeListener;
public class CalendarViewTest extends Activity {
CalendarView cv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main_calendar);
cv = (CalendarView) findViewById(R.id.calendarview);
cv.setOnDateChangeListener(new OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
Toast.makeText(CalendarViewTest.this,
arg1 + "年" + arg2 + "月" + arg3 + "日",
Toast.LENGTH_SHORT).show();
}
});
}
}
日历组件(CalendarView)的xml属性对照表:
效果图: