最后修改时间设置为当天,历史为1;如果今天没有签过到,首先计算出有多少天没签到了,如果是昨天签了的,连续签到次数加1,
历史左移一位,积分按照积分规则加上;如果超过两天没有签到,连续签到次数设置为1,历史左移天数位,积分加上签到单次的积分
,时间为当前的修改时间;
或者是这样:
建一个签到数据表,两列,一列日期,一列用户外键。点击签到触发controller,存入签到表。为了方便记录连续签到情况,可以建
一个计数表,一列用户外键,一列签到计数,连续签到时加1,断签了就归1。
这个其实很简单吧,你在application
里就可以计算这个长度了,因为一旦运行程序,不考虑横竖屏切换,只考虑坚屏的话。屏幕宽高是不会变的。
DisplayMetrics metric = getResources().getDisplayMetrics()ImageUtils.SCREEN_WIDTH = metric.widthPixels < metric.heightPixels ? metric.widthPixels : metric.heightPixels
这个就是你屏幕的宽高。减去屏幕左右的10dp就是你要的进度条宽度。
public static int dp2Px(Context c, float dp){
if (c == null)
{
return 0
}
float density = c.getResources().getDisplayMetrics().density
return (int) (dp * density + 0.5f)
}
ImageUtils.PROGRESS_WIDTH = ImageUtils.SCREEN_WIDTH - dp2Px(context, 20)
这样你就不用在adapter里面进行多次运算了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)