自定義的乙個日曆Calender

2021-09-23 23:15:14 字數 1669 閱讀 4101

產品要做簽到功能,簽到功能要基於乙個日曆來進行,所以就根據 要求自定義了乙個日曆

自定義控制項相信做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 ;

public calendarviewadapter(context context, int countday)

@override

public int getcount()

@override

public object getitem(int position)

@override

public long getitemid(int position)

@override

public view getview(int position, view convertview, viewgroup parent) else

holder = (viewholder) convertview.gettag();

if (position <= 6) else else if (position -7>= mcurrent_week

&& position - mcurrent_week -6 <= mcurrent_mouth_countday)

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

return convertview;

} class viewholder

}

把gridview填充了以後乙個簡單的日曆控制項就ok了。

demo:

自定義了乙個日曆以後就要做簽到了,簽到只要在自定義的calendar中稍稍修改下就好了,看下效果圖:

看這還行,然後demo: 

新增了幾個方法的demo:

Android自定義日曆

1.自定義控制項基於系統控制項上改進 2.類繼承布局或者基礎控制項進行自定義 3.去到main的布局中去繫結檢視,4.物件的轉殖的記憶體與源物件的記憶體是相同的 5.layoutinflater inflater layoutinflater.from context inflater.inflat...

自定義日曆(Project)

project2016 企業專案管理實踐 張會斌 董方好 編著 日曆有三種 標準日曆 24小時日曆和夜班日曆。但這三種在現實中遠遠不夠用,別的不說,就說那個標準日曆,預設是8點到12點,13點到17點,可有些專案,比如澆混凝土,大中午太陽爆曬的那幾個小時是不適合幹這活的,所以工作時間有可能就變成6點...

自定義乙個死鎖

在鎖o1釋放之前需要等待鎖o2的釋放 在鎖o2釋放之前需要等待鎖o1的釋放.死在無限等待對方釋放鎖的迴圈中.這只是乙個簡單的死鎖 a需要b,b需要a 複雜一些的有 a需要b,b需要c,c需要a.public class demo6 implements runnable catch interrup...