產品要做簽到功能,簽到功能要基於乙個日曆來進行,所以就根據 要求自定義了乙個日曆
自定義控制項相信做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...