精华内容
下载资源
问答
  • Android日历界面MaterialCalendarView的使用

    万次阅读 热门讨论 2017-04-09 21:39:48
    Android日历界面MaterialCalendarView的使用 前几天有一个界面需要选择时间的界面,但是系统的日期对话框有点不合适,因为有其他几个选择都是类似PopupWindow的格式显示在按钮下边的,而日期选择也是应该要同样的...

    Android日历界面MaterialCalendarView的使用

           前几天有一个界面需要选择时间的界面,但是系统的日期对话框有点不合适,因为有其他几个选择都是类似PopupWindow的格式显示在按钮下边的,而日期选择也是应该要同样的效果,所有这就需要自定义View,而不能是Dialog样式的显示。
           虽然我也会设计出来,但是我发现网上这个开源框架:MaterialCalendarView做得算是很完美的,不管是样式,很是里面方法的封装,动画效果的显示和逻辑的判断都是不错的!
    MaterialCalendarView的源码地址:https://github.com/prolificinteractive/material-calendarview
           需要说明一点的是,这个框架里面有android5.0以上的类,需要设置SDK在5.0以上才能使用,并且需要V4以上的兼容包!

    MaterialCalendarView的效果图:
    x1

    动态效果:
    x2

           MaterialCalendarView可以依赖使用,但是我使用的开发工具是IDEA(类似Eclipse),所以我把源代码复制下来,进行简单修改就可以使用了,大家如果要用也可以下载我的源码使用。
    展示一下主要代码使用:

    1.布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
            >
        <TextView android:layout_width="match_parent"
                  android:gravity="center"
                  android:layout_height="wrap_content"
                  android:text="日历界面"/>
        <com.example.calendar.materialcalendarview.materialcalendarview.MaterialCalendarView
                android:background="#fff"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/calendarView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:mcv_showOtherDates="all"
                app:mcv_selectionColor="#F00"
                />
        <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:onClick="getTime"
                android:text="获取时间"
                />
    </LinearLayout>

           自定义View的使用,包名都是根据自己放这个类的包名设置的,否则会运行会报错。上面也是用到了自定义命名空间属性设置,app:mcv_selectionColor=”#F00”表示被选中后日期的颜色的显示。

    2.控制日历的简单代码

    package com.example.calendar;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.view.View;
    import android.widget.Toast;
    import com.example.calendar.materialcalendarview.materialcalendarview.CalendarDay;
    import com.example.calendar.materialcalendarview.materialcalendarview.CalendarMode;
    import com.example.calendar.materialcalendarview.materialcalendarview.MaterialCalendarView;
    import com.example.calendar.materialcalendarview.materialcalendarview.OnDateSelectedListener;
    
    import java.util.Calendar;
    
    public class MainActivity extends Activity {
        MaterialCalendarView materialCalendarView;//布局内的控件
        CalendarDay currentDate;//自定义的日期对象 
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            materialCalendarView = (MaterialCalendarView) findViewById(R.id.calendarView);// 實例化
    
            //编辑日历属性
            materialCalendarView.state().edit()
                    .setFirstDayOfWeek(Calendar.MONDAY)   //设置每周开始的第一天
                    .setMinimumDate(CalendarDay.from(2010, 4, 3))  //设置可以显示的最早时间
                    .setMaximumDate(CalendarDay.from(2018, 5, 12))//设置可以显示的最晚时间
                    .setCalendarDisplayMode(CalendarMode.MONTHS)//设置显示模式,可以显示月的模式,也可以显示周的模式
                    .commit();// 返回对象并保存
            //      设置点击日期的监听
            materialCalendarView.setOnDateChangedListener(new OnDateSelectedListener() {
                @Override
                public void onDateSelected(@NonNull com.example.calendar.materialcalendarview.materialcalendarview.MaterialCalendarView widget, @NonNull com.example.calendar.materialcalendarview.materialcalendarview.CalendarDay date, boolean selected) {
                    currentDate = date;
                }
            });
        }
    
        /**
         * 获取点击后的日期数
         */
        public void getTime(View view) {
            if (currentDate != null) {
                int year = currentDate.getYear();
                int month = currentDate.getMonth() + 1; //月份跟系统一样是从0开始的,实际获取时要加1
                int day = currentDate.getDay();
                Toast.makeText(this, currentDate.toString() + "你选中的是:" + year + "-" + month + "-" + day, Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(this, "请选择时间", Toast.LENGTH_LONG).show();
            }
    
    
        }
    
    }

           相关的解释都是在代码中了,大家也可以研究一下MaterialCalendarView这个类里面的公共方法,里面还有其他属性的设置。
    程序运行后的效果:

    x3
    程序也可以改成Week模式,代码: setCalendarDisplayMode(CalendarMode.WEEKS)效果:
    x4

           这个基于View的日历框架就介绍到这里,里面的属性大家可以慢慢研究,或者多添些方法,上面源代码我也是做了一点小修改,就是上面点击左右边的按钮本来时显示上下月的,但是我感觉和左右滑动冲突的,我改成点击左右边的按钮设置成显示上下年,把MaterialCalendarView类中的代码: pager.setCurrentItem(pager.getCurrentItem() + 12, true);把这里的1改成12,就可以。
           这个框架还涉及到很多资源文件,不要忘记复制。

    共勉:生活不止有眼前的苟且还有诗和远方。(最早是我以前一位章宝同学跟我说过的话,现在经常想起)

    展开全文
  • Android日历

    2016-01-18 15:38:59
    Android日历第一个版本,功能比较简单,日历界面,支持增加查看事件。
  • 本篇文章主要介绍了android自定义view之实现日历界面实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • LayoutInflater inflater= (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_... //载入界面view =inflater.inflate(R.layout.pumkin_calendar,null);AlertDialog.Builder ad;ad = ne...

    LayoutInflater inflater= (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE); //载入界面

    view =inflater.inflate(R.layout.pumkin_calendar,null);

    AlertDialog.Builder ad;

    ad = new AlertDialog.Builder(pumkinLand.this);

    ad.setView(view);

    ad.setTitle("日历");

    ad.create().show();

    如上,想通过上述代码加载日历界面。无法成功,求指导。谢谢~

    pumkin_calendar.xml界面

    android:layout_width="match_parent" android:layout_height="match_parent">

    android:layout_width="match_parent"

    android:layout_height="590dp">

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:id="@+id/calendarView2"

    android:layout_alignParentTop="true"

    android:layout_centerHorizontal="true" />

    如果把CALENDARview换成其他控件,是可以正常加载出来界面的。就是日历不可。。

    展开全文
  • android登录界面设计源码大全
  • android日历源代码

    2020-09-02 14:30:16
    这是一个界面漂亮的android日历源代码。值得很好学习 这是一个界面漂亮的android日历源代码。值得很好学习
  • android日历源码

    2015-03-13 08:05:44
    android日历源码,可直接编译运行,界面简洁,运行高效。
  • Android自定义日历并随心所欲改变界面样式,支持自定义样式、滑动切换月份,集成非常简单,使用起来非常方便。
  • 摘要:本软件是一款基于Android开发平台的日历提醒软件,主要是通过现在比较流行的智能手机的软件设计方法,来进行一款提醒软件的设计。本软件主要是针对学校进行应用,其中包括日历模块:方便用户进行日期查询;课程...

    摘要:本软件是一款基于Android开发平台的日历提醒软件,主要是通过现在比较流行的智能手机的软件设计方法,来进行一款提醒软件的设计。

    本软件主要是针对学校进行应用,其中包括日历模块:方便用户进行日期查询;课程、会议、校园活动模块:使用户可以及时查看所需要的信息并进行设置提醒;闹铃模块:根据用户自己的喜好进行闹铃的设置,铃声的选择;在提醒管理界面可以观察到所提示的信息。

    现阶段,因为安卓手机的普及,所以设计一款日历提醒软件是非常有必要的。本软件的设计是为了方便学生、教师的日常生活,在智能手机上安装就可以实现课程、会议、校园活动的提醒。

    关键词:日历提醒;Android开发;手机软件

    目录

    摘要

    ABSTRACT

    一、绪论-1

    (一)课题背景及设计意义-1

    (二)国内外现状-1

    (三)本论文的主要内容-2

    二、Android开发及开发环境-3

    (一)Android平台的体系结构-3

    (二)功能划分-3

    (三) Android的构成及工作机制-3

    (四)如何搭建开发环境-3

    三、日历提醒软件的需求分析-7

    (一)功能需求-7

    (二)日历提醒软件的功能结构图-7

    (三)日历系统的用例图-9

    (四)后台数据库模型-10

    (五)非功能性需求-12

    四、日历提醒软件的设计与实现-12

    (一)本软件日历界面的设计与实现-13

    (二)本软件课程、会议、校园活动界面设计与实现-16

    (三)本软件闹铃(铃声管理)系统界面的设计与实现-19

    五、日历提醒软件的测试-22

    (一)配置的测试-23

    (二) 软件的测试-24

    六、总结与展望-24

    参考文献-26

    致 谢-28

    展开全文
  • Android 日历控件

    2014-07-23 17:33:19
    Android 日历控件,界面简介 本文地址: http://blog.csdn.net/hongshengpeng/article/details/38067567
  • 请问如何做到,通过自己的 APP 在系统日历中添加的事件,只能通过自己的 APP 来删除,在系统日历界面无法直接删除? 我在华为手机中实验成功过,但是现在小米手机怎么实验也不行,但手头的华为手机又坏了,无法...
  • 快要毕业答辩了,课题是做一款Android日历提醒软件,最近一直在改论文,代码很久之前就完成了,虽然很多方面写的不好,但还是决定分享出来,希望可以帮助到一些同学,大家也可以对我有缺陷的地方提出建议。...
  • Android自定义日历

    2014-11-08 16:08:18
    Android自定义日历,仿小米日历界面
  • Android日历视图

    2020-07-11 15:44:52
    In this tutorial, we’ll be discussing the Calendar Widget using the CalendarView class in our Android Application. 在本教程中,我们将使用Android应用程序中的... Android日历视图 (Android Calend...

    In this tutorial, we’ll be discussing the Calendar Widget using the CalendarView class in our Android Application.

    在本教程中,我们将使用Android应用程序中的CalendarView类讨论Calendar Widget。

    Android日历视图 (Android Calendar View)

    As the name suggests, a Calendar View is used to display and select dates of the Calendar.

    顾名思义,“日历视图”用于显示和选择日历的日期。

    To add a CalendarView in the XML Layout do the following:

    要在XML布局中添加CalendarView,请执行以下操作:

    <CalendarView
            android:id="@+id/calendarView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    This is how it looks in the Layout Design editor :

    这是在“布局设计”编辑器中的外观:

    When you’ll run the above application on your device, it’ll show the current date. By default, the Calendar shows the Jan 1, 1970, date.

    当您在设备上运行上述应用程序时,它将显示当前日期。 默认情况下,日历显示1970年1月1日的日期。

    android:maxDate and android:minDate are used to set a custom range on the calendar. The dates specified are of the format MM/dd/yyyy.

    android:maxDateandroid:minDate用于在日历上设置自定义范围。 指定的日期格式为MM / dd / yyyy。

    To do the same in Java we use setMaxDate() and setMinDate() methods passing the long instance. The getters methods are available for the same.

    为了在Java中执行相同的操作,我们使用setMaxDate()setMinDate()方法传递long实例。 吸气方法同样适用。

    To set the current date we do setDate(long date) on the CalendarView instance.

    要设置当前日期,我们在CalendarView实例上执行setDate(long date)

    The setDate method has another form: setDate(long date, boolean animate, boolean center).
    By default the second and third parameters are true. When you select a new date it animates to it.

    setDate方法具有另一种形式: setDate(long date, boolean animate, boolean center)
    默认情况下,第二个和第三个参数为true。 当您选择一个新的日期时,它会动画化。

    To change the date and week text style we use the attributes:
    android:dateTextAppearance and android:weekTextAppearance or their equivalent setters in Java.

    要更改日期和星期文本样式,我们使用以下属性:
    android:dateTextAppearanceandroid:weekTextAppearance或它们在Java中的等效设置器。

    The CalendarView consists of the following listener:

    CalendarView由以下侦听器组成:

    calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(@NonNull CalendarView calendarView, int i, int i1, int i2) {
                }
            });

    This gets triggered whenever the date is changed by the user.

    每当用户更改日期时,都会触发此事件。

    • i = year

      我=年
    • i1 = month

      i1 =月
    • i2 = day

      i2 =天

    In the following section, we’ll create an android application with a custom theme and add a custom range on the CalendarView along with showing the difference between animation and non-animation date changes.

    在下一节中,我们将创建一个具有自定义主题的android应用程序,并在CalendarView上添加自定义范围,并显示动画和非动画日期更改之间的差异。

    项目结构 (Project Structure)

    (Code)

    In the styles.xml file add the following three styles:

    在styles.xml文件中,添加以下三种样式:

    <style name="CalenderViewCustom" parent="Theme.AppCompat">
            <item name="colorAccent">@android:color/holo_blue_dark</item>
            <item name="colorPrimary">@android:color/darker_gray</item>
            <item name="android:textColorPrimary">@color/colorPrimary</item>
        </style>
    
        <style name="CalenderViewDateCustomText" parent="android:TextAppearance.DeviceDefault.Small">
            <item name="android:textColor">@android:color/holo_orange_dark</item>
        </style>
    
        <style name="CalenderViewWeekCustomText" parent="android:TextAppearance.DeviceDefault.Small">
            <item name="android:textColor">@android:color/holo_green_dark</item>
        </style>

    android:textColorPrimary by default is white. This color is set on the month date and the left and right indicators.

    android:textColorPrimary默认为白色。 该颜色设置在月份日期以及左右指示符上。

    The code for the activity_main.xml is given below:

    下面给出了activity_main.xml的代码:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="https://schemas.android.com/apk/res/android"
        xmlns:app="https://schemas.android.com/apk/res-auto"
        xmlns:tools="https://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <CalendarView
            android:id="@+id/calendarView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:dateTextAppearance="@style/CalenderViewDateCustomText"
            android:theme="@style/CalenderViewCustom"
            android:weekDayTextAppearance="@style/CalenderViewWeekCustomText"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <Button
            android:id="@+id/btnWithAnim"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:text="With\nAnim"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/btnWithoutAnim"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/btnRange" />
    
        <Button
            android:id="@+id/btnWithoutAnim"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Without\nAnim"
            app:layout_constraintBaseline_toBaselineOf="@+id/btnWithAnim"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/btnWithAnim" />
    
        <Button
            android:id="@+id/btnRange"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Custom\nRange"
            app:layout_constraintEnd_toStartOf="@+id/btnWithAnim"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintHorizontal_chainStyle="spread"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/btnWithAnim" />
    
    
    </android.support.constraint.ConstraintLayout>

    We’ve added all the custom styles in the layout above.

    我们在上面的布局中添加了所有自定义样式。

    The three Buttons are chained in the Constraint Layout.

    这三个按钮链接在“ 约束布局”中

    The code for the MainActivity.java is given below:

    MainActivity.java的代码如下:

    package com.journaldev.androidcalendarview;
    
    import android.support.annotation.NonNull;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CalendarView;
    import android.widget.Toast;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
        Calendar calendar;
        CalendarView calendarView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            calendar = Calendar.getInstance();
    
    
            calendar.set(Calendar.MONTH, Calendar.NOVEMBER);
            calendar.set(Calendar.DAY_OF_MONTH, 9);
            calendar.set(Calendar.YEAR, 2012);
    
    
            calendar.add(Calendar.DAY_OF_MONTH, 1);
            calendar.add(Calendar.YEAR, 1);
    
    
            calendarView = findViewById(R.id.calendarView);
    
            Button btnRange = findViewById(R.id.btnRange);
            btnRange.setOnClickListener(this);
    
            Button btnWithoutAnim = findViewById(R.id.btnWithoutAnim);
            btnWithoutAnim.setOnClickListener(this);
    
            Button btnWithAnim = findViewById(R.id.btnWithAnim);
            btnWithAnim.setOnClickListener(this);
    
            calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(@NonNull CalendarView calendarView, int i, int i1, int i2) {
    
                    String msg = "Selected date Day: " + i2 + " Month : " + (i1 + 1) + " Year " + i;
                    Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
    
    
                }
            });
    
        }
    
        @Override
        public void onClick(View view) {
    
            switch (view.getId()) {
                case R.id.btnWithAnim:
                    calendarView.setDate(calendar.getTimeInMillis(), true, true);
                    break;
    
                case R.id.btnWithoutAnim:
                    calendar.set(Calendar.DAY_OF_MONTH, 12);
                    calendar.set(Calendar.YEAR, 2016);
                    calendar.add(Calendar.MONTH, Calendar.MARCH);
                    calendarView.setDate(calendar.getTimeInMillis(), false, false);
                    break;
    
                case R.id.btnRange:
    
                    Calendar calendar = Calendar.getInstance();
                    calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
                    long endOfMonth = calendar.getTimeInMillis();
                    calendar = Calendar.getInstance();
                    calendar.set(Calendar.DATE, 1);
                    calendar.set(Calendar.HOUR_OF_DAY, 0);
                    long startOfMonth = calendar.getTimeInMillis();
                    calendarView.setMaxDate(endOfMonth);
                    calendarView.setMinDate(startOfMonth);
    
    
                    String minDateString = new SimpleDateFormat("MM/dd/yyyy").format(new Date(calendarView.getMinDate()));
                    String maxDateString = new SimpleDateFormat("MM/dd/yyyy").format(new Date(calendarView.getMaxDate()));
    
                    Toast.makeText(getApplicationContext(), "MMDDYYYY Min date - " + minDateString + " Max Date is " + maxDateString, Toast.LENGTH_LONG).show();
    
                    break;
    
    
            }
        }
    }

    calendar.getActualMaximum(Calendar.DATE) gets the end of the month for the current date.
    We’ve used SimpleDateFormat to convert the dates into a custom format.

    calendar.getActualMaximum(Calendar.DATE)获取当前日期的月底。
    我们使用SimpleDateFormat将日期转换为自定义格式。

    The output of the application in action is given below:

    实际应用程序的输出如下:

    In the first case, we animate to another date with animation. In the last case, the custom range shows only the July Month. The indicators are disabled.

    在第一种情况下,我们使用动画为另一个日期设置动画。 在最后一种情况下,自定义范围仅显示七月。 指示灯已禁用。

    This brings an end to this tutorial. You can download the project from the link below:

    本教程到此结束。 您可以从下面的链接下载项目:

    翻译自: https://www.journaldev.com/22321/android-calendar-view

    展开全文
  • android 日历Looking for the best calendar apps for Android? You’re in the right place! Let’s get right into the top 10 best calendar apps for your Android device today. 寻找适用于Android的最佳日历...
  • Android日历控件

    2017-03-04 11:10:57
    做的是一个酒店的项目,可以选择入住和离开的日期。声明为了省事在网上找的资料,...第一步,搭建布局xml<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andr
  • Android 日历插件

    2015-11-06 11:19:55
    package com.wei.androidtest.widgets...import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.ComponentName; import android.content.Context; import a
  • 目前好多界面需要以日历方式显示或者是弹出日历去选择日期等,在网上搜了一下有很多可以用,但是基本都是绘制view什么的,界面不容易修改,不太容易能改成自己需要的样式,所以决定自己写一个来用,先看效果: ...
  • 获得日历的年月日和周,对日历界面进行画图显示,对日历时间进行画图显示,对下个月上个月进行处理。
  • Android 日历实现简记

    千次阅读 2018-12-14 11:23:38
    实现该界面,尝试过两种: 1.改造ViewPager 2.RecyclerView + 改造PagerSnapHelper 这里最后用了第二种。 尝试 记录下,实现该界面的历程: 第一种方法: 这里曾试着解决三个问题: 1).垂直滑动的ViewPager 2)....
  • android绘制日历

    2011-09-20 14:17:56
    这里是android图形图像部分的绘制日历的例子,一个很好的日历绘制方式和界面
  • Android 日历CalendarProvider

    万次阅读 2016-04-28 18:12:52
    注:本文为转载,是官网的一篇翻译。 ... 日历提供器是(CalendarProvider)针对用户日历事件...日历提供器API允许你执行有关日历、、事件、会议、提醒等内容的查询、插入、更新、删除操作。 日历提供器API能够用
  • 最新的Android冰淇淋三明治(Ice Cream Sandwich, ICS)操作系统,不仅仅是用户界面(UI)的简单改变,它几乎是对整个Android系统界面的重新定义。为了让你更好地为ICS系统设计和开发应用,这里有一个简单的介绍和指南。...
  • Android开发之UI界面设计

    千次阅读 2018-12-21 23:36:09
    下面介绍五种不同样式的UI界面,它们的样式分别如下: 下面就来分别介绍各部分代码;当然我也将相应的代码上传了的:https://download.csdn.net/download/qq_43433255/10848982 先建立如下的项目;mainactivity用来...
  • Android日历操作

    千次阅读 2013-09-17 13:59:42
    CalendarContract.Calendars表包含了单个日历的详细信息。下表中Calendars表列对应用程序和同步适配器都是可写的。对于这个表支持的完整的字段列表,请看“CalendarContract.Calendars参考” ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,068
精华内容 5,227
关键字:

android日历的界面设计