产品要做签到功能,签到功能要基于一个日历来进行,所以就根据 要求自定义了一个日历

自定义控件相信做android都知道:

(1)首先创建一个类,继承一个容器类或者是一个控件

(2)然后就是你需要设置的属性等的,在attrs文件夹中

(3)然后就是在类里边进行属性的设置以及布局等等功能的添加

其实自定义一个日历问题都不多,很多人都会想到通过一个gridView然后填充就可以,确实是这样,主要是在显示每个月的第一天的位置以及每个月显示多少天有点绕。

思路:通过判断当前星期几然后进行日历的填充,但是填充的大小不能大于当月天数,通过当月第一天是星期几来判断从哪个位置填充。

代码:

package com.example.calenderdemo;

import android.content.Context;

import android.graphics.Color;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

public class CalendarViewAdapter extends BaseAdapter {

private Context mContext;

private int mCountDay = 49;

private int mCurrent_mouth_Countday;

private int mCurrent_Week;

private int id[] = { R.string.week7, R.string.week1, R.string.week2,

R.string.week3, R.string.week4, R.string.week5, R.string.week6 };

public CalendarViewAdapter(Context context, int countday) {

this.mContext = context;

this.mCurrent_Week = Utils.getCurrentMonthStart();

this.mCurrent_mouth_Countday = countday;

}

@Override

public int getCount() {

return mCountDay;

}

@Override

public Object getItem(int position) {

return null;

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

if (convertView == null) {

holder = new ViewHolder();

convertView = LayoutInflater.from(mContext).inflate(

R.layout.item_calendar, null);

holder.mTv_calendar_day = (TextView) convertView

.findViewById(R.id.tv_calendar_day);

convertView.setTag(holder);

} else

holder = (ViewHolder) convertView.getTag();

if (position <= 6) {

holder.mTv_calendar_day.setTextColor(Color.BLACK);

holder.mTv_calendar_day.setTextSize(mContext.getResources()

.getDimension(R.dimen.text_size_7));

holder.mTv_calendar_day.setText(mContext.getResources().getString(

id[position]));

} else {

if (mCurrent_Week == 7 && (position -6) <= mCurrent_mouth_Countday) {

holder.mTv_calendar_day.setText(position-6 + "");

} else if (position -7>= mCurrent_Week

&& position - mCurrent_Week -6 <= mCurrent_mouth_Countday) {

holder.mTv_calendar_day.setText(position - mCurrent_Week -6

+ "");

}

}

if (position % 7 == 6) {

holder.mTv_calendar_day.setBackgroundResource(R.drawable.line_right);

}else if (position % 7 == 0) {

holder.mTv_calendar_day.setBackgroundResource(R.drawable.line_left);

}

return convertView;

}

class ViewHolder {

TextView mTv_calendar_day;

}

}

把gridView填充了以后一个简单的日历控件就ok了。

自定义了一个日历以后就要做签到了,签到只要在自定义的Calendar中稍稍修改下就好了,看下效果图:

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

android自定义日历代码,Android自定义日历Calender代码实现相关推荐

  1. 自定义日历控android,Android自定义日历Calender代码实现

    产品要做签到功能,签到功能要基于一个日历来进行,所以就根据 要求自定义了一个日历 自定义控件相信做android都知道: (1)首先创建一个类,继承一个容器类或者是一个控件 (2)然后就是你需要设置的 ...

  2. android日历编程,Android自定义日历Calender代码实现

    产品要做签到功能,签到功能要基于一个日历来进行,所以就根据 要求自定义了一个日历 自定义控件相信做android都知道: (1)首先创建一个类,继承一个容器类或者是一个控件 (2)然后就是你需要设置的 ...

  3. android程序日历layout,Android使用GridLayout绘制自定义日历控件

    效果图 思路:就是先设置Gridlayout的行列数,然后往里面放置一定数目的自定义日历按钮控件,最后实现日历逻辑就可以了. 步骤: 第一步:自定义日历控件(初步) 第二步:实现自定义单个日期按钮控件 ...

  4. android 日历图,Android中的自定义日历视图

    我正在为我的 Android应用程序构建一个自定义日历视图,允许您在几个月之间滑动.我已经创建了自定义日历方块视图,我已将其嵌入到自定义日历月视图中,并且所有内容都在1个月的范围内完美运行. 不幸的是 ...

  5. android 自定义日历 数据,Android实现自定义日历.pdf

    Android实实现现自自定定义义日日历历 自定义日历类源码,可以自己在里面按照需求增减功能,做成自己想要的日历效果,小伙伴们可以根据自己的需求自 由 改 自定义日历控件,支持旧历.节气.日期标注.点 ...

  6. 自定义日历控android,Android 一个日历控件的实现小记

    先看几张动态的效果图吧! 这里主要记录一下在编写日历控件过程中一些主要的点: 一.主要功能 1.支持农历.节气.常用节假日 2.日期范围设置,默认支持的最大日期范围[1900.1~2049.12] 3 ...

  7. android 日历 标记,Android自定义可标记日历

    1.前几天某某人要求我记住她什么时候洗的头发,然后记得提醒她,这么复杂的事情,我只好想着做个什么东西帮我,然后就这样了 2.先直接看看效果吧 初始情况 点击一个作为标记 再次点击后删除 3.这里还要感 ...

  8. android小球移动代码,Android自定义圆形View实现小球跟随手指移动效果

    本文实例为大家分享了Android实现小球跟随手指移动效果的具体代码,供大家参考,具体内容如下 一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在on ...

  9. Android自定义Adapter的ListView的思路及代码

    Android自定义Adapter的ListView的思路及代码,需要的朋友可以参考一下 width="650" height="200" align=&quo ...

  10. 日历控件的android代码,Android日历控件PickTime代码实例

    Android日历控件PickTime代码实例 发布时间:2020-10-03 16:05:51 来源:脚本之家 阅读:86 作者:手撕高达的村长 最近做项目,需要设置用户的生日,所以做这样一个功能. ...

最新文章

  1. C++ 通过模版工厂实现 简单反射机制
  2. 【Qt】qt打印文件名、函数名、行号
  3. Python 学习散记
  4. powerpoint文字教程
  5. Mybatis 向指定表中批量插入数据
  6. c语言张振国实验报告,基于VisualC的黄金分割法程序设计实验报告.doc
  7. 如何让 Mac 加入网络帐户服务器?
  8. JDK与API下载与使用
  9. 运营商iptv服务器,IPTV 服务器
  10. 工程机械行业PLM实施背景
  11. 《团队-科学计算器-项目总结》
  12. 超好用的内网穿透工具【永久免费不限制流量】
  13. re匹配电话号码、邮箱地址
  14. rl滤波器原理_入门篇,层层讲解滤波电路工作原理
  15. java数字签名(签名生成,用证书验证签名)
  16. 【数据结构】- 几个步骤教你认识并实现一个链表之带头(哨兵位)双向循环链表(中)
  17. 英语语法---四种句子类型的介绍
  18. vue中使用i18n
  19. linux查看tomcat在,在陌生Linux环境查看Tomcat服务的方法
  20. FMDB的简单应用(4篇)

热门文章

  1. html 倒计时弹出框,alert警告框倒计时
  2. Carhart四因子模型实用攻略
  3. 设计模式(三)之生成器模式(Builder Pattern)
  4. 数据结构:树(Tree)【详解】
  5. 粒子群优化算法(PSO)及其Matlab实现
  6. 微型计算机控制技术应用,微型计算机控制技术的发展及应用123.doc
  7. BP神经网络公式推导
  8. 用计算机制作flash动画教案,最新最完整Flash动画制作教案.doc
  9. linux镜像添加驱动,添加raid驱动到initrd.img
  10. 6款 jQuery Lightbox图片查看触控插件