android实现日历,安卓日历提醒设置,Android自定义日历效果

android实现日历,安卓日历提醒设置,Android自定义日历效果

这篇文章主要为大家详细介绍了机器人自定义日历效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

因为工作功能需求,自定义一个日历,效果如下,点击选中日历

使用开源代码库上面一个前辈的框架

实现com。内克尔。ncalendar:ncalendar:5。0 .0 '

实现com。github。编码结束:PopupLayout:v 1.0 '//pop布局

框架使用基本类型地址,大家可以根据需要学习修改:地址

自定义日历的可扩展标记语言文件

?可扩展标记语言版本='1.0 '编码='utf-8 '?

Android x .约束布局。小部件。约束布局xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '

xmlns:app=' http://模式。安卓。' com/apk/RES-auto '

xmlns:tools=' http://模式。安卓。' com/tools '

Android:layout _ width=' match _ parent '

Android:layout _ height=' wrap _ content '

工具:上下文='。'日历活动'

视角

android:id='@ id/title_bar '

android:layout_width='320dp '

android:layout_height='40dp '

Android:background=' @ drawable/calendar _ BG '

app:layout _ constraint end _ toEndOf=' parent '

app:layout _ constraint start _ to start of=' parent '

app:layout _ constraint top _ toTopOf=' parent '/

文本视图

android:id='@ id/year '

Android:layout _ width=' wrap _ content '

Android:layout _ height=' wrap _ content '

Android:layout _ margin start=' 18dp '

android:text='2018 '

android:textColor='#ffffff '

android:textSize='16sp '

app:layout _ constraint bottom _ to bottom of=' @ id/title _ bar '

app:layout _ constraint start _ to start of=' @ id/title _ bar '

app:layout _ constraint top _ toTopOf=' @ id/title _ bar '/

文本视图

android:id='@ id/month '

Android:layout _ width=' wrap _ content '

Android:layout _ height=' wrap _ content '

Android:layout _ margin start=' 18dp '

android:text='四'

android:textColor='#ffffff '

android:textSize='18sp '

app:layout _ constraint bottom _ to bottom of=' @ id/title _ bar '

app:layout _ constraint end _ toEndOf=' @ id/title _ bar '

app:layout _ constraint start _ to start of=' @ id/title _ bar '

app:layout _ constraint top _ toTopOf=' @ id/title _ bar '/

文本视图

android:id='@ id/monthName '

Android:layout _ width=' wrap _ content '

Android:layout _ height=' wrap _ content '

android:text='月'

android:textColor='#ffffff '

android:textSize='18sp '

app:layout _ constraint bottom _ to bottom of=' @ id/title _ bar '

app:layout _ constraint start _ toEndOf=' @ id/month '

app:layout _ constraint top _ toTopOf=' @ id/title _ bar '/

com.necer.view.WeekBar

android:id='@ id/week '

android:layout_width='320dp '

Android:layout _ height=' wrap _ content '

android:layout_marginTop='10dp '

app:layout _ constraint end _ toEndOf=' parent '

app:layout _ constraint start _ to start of=' parent '

app:layout _ constraint top _ toBottomOf=' @ id/title _ bar '/

com。内克尔。日历。月历

android:id='@ id/month_calendar '

android:layout_width='320dp '

android:layout_height='280dp '

app:layout _ constraint end _ toEndOf=' parent '

app:layout _ constraint start _ to start of=' parent '

app:layout _ constraint top _ toBottomOf=' @ id/week '/

视角

android:id='@ id/bottom_view '

android:layout_width='320dp '

android:layout_height='40dp '

Android:background=' @ drawable/calendar _ BG _ bottom '

app:layout _ constraint end _ toEndOf=' parent '

app:layout _ constraint start _ to start of=' parent '

app:layout _ constraint top _ toBottomOf=' @ id/month _ calendar '/

文本视图

android:id='@ id/lastYear '

android:layout_width='0dp '

Android:layout _ height=' wrap _ content '

安卓:重力='中心'

android:onClick='去年'

android:text='上一年'

android:textColor='#ffffff '

app:layout _ constraint bottom _ to bottom of=' @ id/bottom _ view '

app:layout _ constraint end _ to start of=' @ id/divider one '

app:layout _ constraint start _ to start of=' @ id/bottom _ view '

app:layout _ constraint top _ toTopOf=' @ id/bottom _ view '/

视角

android:id='@ id/dividerOne '

android:layout_width='1dp '

android:layout_height='40dp '

android:background='#ffffff '

app:layout _ constraint end _ to start of=' @ id/last month '

app:layout _ constraint start _ toEndOf=' @ id/去年'

app:layout _ constraint top _ toTopOf=' @ id/bottom _ view '/

文本视图

android:id='@ id/lastMonth '

android:layout_width='0dp '

Android:layout _ height=' wrap _ content '

安卓:重力='中心'

android:onClick='上个月'

android:text='上个月'

android:textColor='#ffffff '

app:layout _ constraint bottom _ to bottom of=' @ id/bottom _ view '

app:layout _ constraint end _ to start of=' @ id/divider two '

app:layout _ constraint start _ toEndOf=' @ id/divider one '

app:layout _ constraint top _ toTopOf=' @ id/bottom _ view '/

视角

android:id='@ id/dividerTwo '

android:layout_width='1dp '

android:layout_height='40dp '

android:background='#ffffff '

app:layout _ constraint end _ to start of=' @ id/下月'

app:layout _ constraint start _ toEndOf=' @ id/上月'

app:layout _ constraint top _ toTopOf=' @ id/bottom _ view '/

文本视图

android:id='@ id/nextMonth '

android:layout_width='0dp '

Android:layout _ height=' wrap _ content '

安卓:重力='中心'

android:text='下个月'

android:textColor='#ffffff '

android:onClick='下个月'

app:layout _ constraint bottom _ to bottom of=' @ id/bottom _ view '

app:layout _ constraint end _ to start of=' @ id/divider three '

app:layout _ constraint start _ toEndOf=' @ id/divider two '

app:layout _ constraint top _ toTopOf=' @ id/bottom _ view '/

视角

android:id='@ id/dividerThree '

android:layout_width='1dp '

android:layout_height='40dp '

android:background='#ffffff '

app:layout _ constraint end _ to start of=' @ id/next year '

app:layout _ constraint start _ toEndOf=' @ id/下月'

app:layout _ constraint top _ toTopOf=' @ id/bottom _ view '/

文本视图

android:id='@ id/nextYear '

android:layout_width='0dp '

Android:layout _ height=' wrap _ content '

安卓:重力='中心'

android:text='下一年'

android:textColor='#ffffff '

安卓:onClick='明年'

app:layout _ constraint bottom _ to bottom of=' @ id/bottom _ view '

app:layout _ constraint end _ toEndOf=' @ id/bottom _ view '

app:layout _ constraint start _ toEndOf=' @ id/divider three '

app:layout _ constraint top _ toTopOf=' @ id/bottom _ view '/

/androidx。约束布局。小部件。约束布局

主要活动,日历的功能重写也是在和这个函数中

包com。举例。日历测试;

导入安卓克斯。app compat。app。app compat活动;

导入安卓。OS。捆绑;

导入安卓。OS。处理者;

导入安卓。查看。查看;

导入安卓。小部件。按钮;

导入安卓。小部件。textview

导入com。编码结束。流行出去。流行出去;

导入com。内克尔。日历。基准日历;

导入com。内克尔。日历。月历;

导入com。内克尔。枚举。检查模型;

导入com。内克尔。枚举。datechangebehavior

导入com。内克尔。听众。oncalendarchangedlistener

导入org。乔达。时间。当地日期;

公共类主要活动扩展AppCompatActivity {

人口外流人口外流;

查看日历视图;

TextView mYear,mMonth,去年,明年,上个月,下个月.

蒙特卡伦达尔

当前年份,当前月份

按钮意图;

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

setContentView(r . layout。活动_主);

intent=findViewById(r . id意图);

calendarView=View.inflate(this,R.layout.calendar,null);

弹出播放=弹出播放。init(这个,日历视图);

}

公共无效意图(视图视图){

initCalendar();

popupLayout.show(PopupLayout .位置_中心);

}

public void initCalendar() {

月历=日历视图。findviewbyid(r . id。月_日历);

我的耳朵=日历视图。findviewbyid(r . id。年份);

mMonth=日历视图。findviewbyid(r . id。月);

去年=日历视图。findviewbyid(r . id。去年);

明年=日历视图。findviewbyid(r . id。明年);

上月=日历视图。findviewbyid(r . id。上个月);

下个月=日历视图。findviewbyid(r . id。下个月);

月历。setcheckmode(检查模型.SINGLE _ DEFAULT _ UNCHECKED);

monthcalendar。setoncalendarchangedlistener(new OnCalendarChangedListener(){

@覆盖

public void onCalendarChange(基准日历基准日历,int年,int月,LocalDate localDate,DateChangeBehavior DateChangeBehavior){

我的耳朵。settext(字符串。(年)的值;

mmonth。settext(字符串。(月)的值;

意图。settext(字符串。(本地日期)的值;

当前年份=年份

当前月份=月;

新处理程序()。postDelayed(new Runnable() {

@覆盖

公共无效运行(){

流行出去。dissolve();

}

},800);

}

});

}

上月公开作废(查看视图){

月历。tolastpager();

}

下个月公开作废(查看视图){

月历。tonextpager();

}

公共作废下一年(查看视图){

月历。跳转日期(当前年份1,当前月份1);

}

去年公共无效(视图视图){

月历。跳转日期(当前年份-1,当前月份,1);

}

}

开源代码库下载地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android传感器高级编程,Android传感器,Android编程之光线传感器用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • 留言与评论(共有 条评论)
       
    验证码: