LogicTeamLeader的专栏

子夜枯灯123提供了一个自定义的android日历,他的博客地址如下:

他提供的代码除了自定义日历外,还有一个demo,对于大部分人来说,仅仅需要展示一个日历,并响应日历的click事件即可。因此我简化了他的demo,给出了一个更加简单的demo和使用方法,方法分为三步:

第一步:导入

中的代码。因为这不是一个library项目,因此直接将源代码加入你的工程即可。

第二步:建立一个如下的layout文件,主要是android.support.v4.view.ViewPager要放在合适的位置,它是日历控件的容器。

<LinearLayout xmlns:android=""xmlns:tools=""xmlns:textcircle=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="#fffffe"android:orientation="vertical"android:paddingLeft="10dip"android:paddingRight="10dip" ><Viewandroid:layout_width="fill_parent"android:layout_height="1px"android:layout_alignParentTop="true"android:background="#20000000" ></View><TableLayoutandroid:layout_width="fill_parent"android:layout_height="20dip"android:layout_marginBottom="2dip"android:layout_marginTop="2dip" ><TableRow><TextViewstyle="@style/dateStyle"android:text="日"android:textColor="@color/date_1" /><TextViewstyle="@style/dateStyle"android:text="一"android:textColor="@color/date_2" /><TextViewstyle="@style/dateStyle"android:text="二"android:textColor="@color/date_2" /><TextViewstyle="@style/dateStyle"android:text="三"android:textColor="@color/date_2" /><TextViewstyle="@style/dateStyle"android:text="四"android:textColor="@color/date_2" /><TextViewstyle="@style/dateStyle"android:text="五"android:textColor="@color/date_2" /><TextViewstyle="@style/dateStyle"android:text="六"android:textColor="@color/date_1" /></TableRow></TableLayout><Viewandroid:layout_width="fill_parent"android:layout_height="1px"android:layout_alignParentTop="true"android:background="#20000000" ></View></LinearLayout><RelativeLayoutandroid:id="@+id/contentPager2"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"android:background="#fffffe" ><android.support.v4.view.ViewPagerandroid:id="@+id/viewpager2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="center"android:background="#F7F7F7"android:paddingLeft="15dip"android:paddingRight="10dip" ></android.support.v4.view.ViewPager></RelativeLayout></LinearLayout>第三步:创建自己的Activity类,如下所示:

package com.kidapk.www;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.widget.Toast;import com.example.calendar.R;import com.example.calendar.doim.CalendarViewBuilder;import com.example.calendar.doim.CustomDate;import com.example.calendar.widget.CalendarView;import com.example.calendar.widget.CalendarView.CallBack;import com.example.calendar.widget.CalendarViewPagerLisenter;import com.example.calendar.widget.CustomViewPagerAdapter;public class TestCalendarActivity extends Activity implements CallBack{private ViewPager viewPager;private CalendarView[] views;private CalendarViewBuilder builder = new CalendarViewBuilder();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test);//初始化控件viewPager = (ViewPager) this.findViewById(R.id.viewpager2);views = builder.createMassCalendarViews(this, 5, this); //产生多个CalendarViewthis.findViewById(R.id.contentPager2);//设置控件CustomViewPagerAdapter<CalendarView> viewPagerAdapter = new CustomViewPagerAdapter<CalendarView>(views);viewPager.setAdapter(viewPagerAdapter);viewPager.setCurrentItem(498); //views可翻动498页viewPager.setOnPageChangeListener(new CalendarViewPagerLisenter(viewPagerAdapter));}@Overridepublic void clickDate(CustomDate date) {Toast.makeText(this, date.year+"-"+date.month+"-"+date.day, Toast.LENGTH_SHORT).show();}@Overridepublic void onMesureCellHeight(int cellSpace) {}@Overridepublic void changeDate(CustomDate date) {}}app的效果如下图所示:

积极思考造成积极人生,消极思考造成消极人生。

LogicTeamLeader的专栏

相关文章:

你感兴趣的文章:

标签云: