日历组件(CalendarView)可以用于显示和选择日期,用户即可选择一个日期,也可通过触摸来滚动日历。

如果要监控该组件的日期改变,可调用CalendarView的setOnDataChangeListener()方法为该组件的点击事件添加事件监听器。

CalendarView的常见XML属性如下:

XML属性 相关方法 说明
android:firstDayOfWeek setFirstDayOfWeek(int) 设置每周的第一天,允许设置周一到周日任意一天作为每周的第一天
android:shownWeekCount setShownWeekCount() 设置该日历组件总共显示几个星期(目前已过时)
android:selectedWeekBackgroundColor setSelectedWeekBackgroundColor(int) 设置被选中周的背景色(目前已过时)
android:focusedMonthDateColor setFocusedMonthDateColor(int) 设置获得焦点的月份的日期文字的颜色(目前已过时)
android:unfocusedMonthDateColor setUnfocusedMonthDateColor(int) 设置没有焦点的月份的日期文字的颜色(目前已过时)

下面通过一个实例来介绍CalendarView的用法。
布局文件如下所示:

<?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">    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="请选择您的生日:" />    <CalendarView        android:id="@+id/calendar_view"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:selectedWeekBackgroundColor="#1cb0e1" />LinearLayout>

主程序代码如下所示:

public class MainActivity extends AppCompatActivity {    private CalendarView calendarView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        calendarView = (CalendarView) findViewById(R.id.calendar_view);        calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {            @Override            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {                Toast.makeText(MainActivity.this,"你的生日是"+year+"年"+(month+1)+"月"+dayOfMonth+"日",Toast.LENGTH_SHORT).show();            }        });    }

效果图如下所示:

更多相关文章

  1. Android(安卓)Studio的使用第一篇优化篇
  2. Android-配置文件中设置“android:clickable="false"无效的原因
  3. webrtc服务器janus android客户端编译学习三
  4. Android(安卓)Studio update失败问题 some conflicts were found
  5. Android(安卓)布局面试硬知识点
  6. Android(安卓)Theme和Style区别联系
  7. Android(安卓)代码中设置EditText只输入数字、字母
  8. 在Android中applicationId与package name的那些事
  9. Android(安卓)ImageView.ScaleType设置图解

随机推荐

  1. 基于 PHP-Casbin 的 ABAC 权限控制
  2. 在 PHP 中格式化并高亮 SQL 语句
  3. QueryPHP V1-beta.5 改进 ORM 设计体验
  4. 定位分析内存泄漏的原因和后果
  5. 树状数据结构存储方式(查询篇)
  6. php重定向后跳转不了
  7. php单点登录实现原理实例详解
  8. php实现进度条原理
  9. php自动生成不重复的id
  10. php中ajax的使用实例讲解