国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Andorid 日歷控件庫,可左右滑動,顯示公歷,農歷,節假日等功能

2019-12-12 05:13:44
字體:
來源:轉載
供稿:網友

封面圖: 

demo效果圖

 

源碼目錄結構        

Features

  1. 日歷左右滑動.
  2. 顯示陽歷,農歷,節假日和二十四節氣
  3. 實現對某月日期的單選或者多選.

使用步驟

Gradle Dependency

Add the library to your project build.gradle

  compile 'com.joybar.calendar:librarycalendar:1.0.4'

Sample Usage

實現OnPageChangeListener和OnDateClickListener接口,如果實現多選,需要實現 OnDateCancelListener

 public class MainActivity extends AppCompatActivity implements CalendarViewPagerFragment.OnPageChangeListener, CalendarViewFragment.OnDateClickListener, CalendarViewFragment.OnDateCancelListener {  private TextView tv_date; private boolean isChoiceModelSingle = false; private List<CalendarDate> mListDate = new ArrayList<>();  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_date = (TextView) findViewById(R.id.tv_date); initFragment(); }  private void initFragment(){ FragmentManager fm = getSupportFragmentManager(); FragmentTransaction tx = fm.beginTransaction(); // Fragment fragment = new CalendarViewPagerFragment(); Fragment fragment = CalendarViewPagerFragment.newInstance(isChoiceModelSingle); tx.replace(R.id.fl_content, fragment); tx.commit(); }   @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_im, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {  case R.id.menu_single:  isChoiceModelSingle = true;  initFragment();  break;  case R.id.menu_multi:  isChoiceModelSingle = false;  initFragment();  break;  default:  break; } return true; } @Override public void OnDateClick(CalendarDate calendarDate) {  int year = calendarDate.getSolar().solarYear; int month = calendarDate.getSolar().solarMonth; int day = calendarDate.getSolar().solarDay; if (isChoiceModelSingle) {  tv_date.setText(year + "-" + month + "-" + day); } else {  //System.out.println(calendarDate.getSolar().solarDay);  mListDate.add(calendarDate);  tv_date.setText(listToString(mListDate)); }  }  @Override public void OnDateCancel(CalendarDate calendarDate) { int count = mListDate.size(); for (int i = 0; i < count; i++) {  CalendarDate date = mListDate.get(i);  if (date.getSolar().solarDay == calendarDate.getSolar().solarDay) {  mListDate.remove(i);  break;  } } tv_date.setText(listToString(mListDate)); }  @Override public void OnPageChange(int year, int month) { tv_date.setText(year + "-" + month); mListDate.clear(); }  private static String listToString(List<CalendarDate> list) { StringBuffer stringBuffer = new StringBuffer(); for (CalendarDate date : list) {  stringBuffer.append(date.getSolar().solarYear + "-" + date.getSolar().solarMonth + "-" + date.getSolar().solarDay).append(" "); } return stringBuffer.toString(); } }

單選或者多選的實現代碼

 if (isChoiceModelSingle) {  mGridView.setChoiceMode(GridView.CHOICE_MODE_SINGLE); } else {  mGridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE); } mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {  @Override  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {  CalendarDate calendarDate = ((CalendarGridViewAdapter) mGridView.getAdapter()).getListData().get(position);  if (isChoiceModelSingle) {   //單選   if (finalMListDataCalendar.get(position).isInThisMonth()) {   onDateClickListener.OnDateClick(calendarDate);   } else {   mGridView.setItemChecked(position, false);   }  } else {   //多選   if (finalMListDataCalendar.get(position).isInThisMonth()) {   // mGridView.getCheckedItemIds()   if(!mGridView.isItemChecked(position)){    onDateCancelListener.OnDateCancel(calendarDate);   } else {    onDateClickListener.OnDateClick(calendarDate);   }    } else {   mGridView.setItemChecked(position, false);   }   }  } });

git地址:https://github.com/myjoybar/android-calendar-view

 以上就是Android 日歷控件的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙井市| 德保县| 华宁县| 浦北县| 绥化市| 利川市| 威宁| 澄迈县| 宁津县| 独山县| 丹东市| 高陵县| 寻乌县| 郯城县| 高要市| 香格里拉县| 三亚市| 海口市| 乌什县| 达孜县| 突泉县| 兴山县| 金溪县| 承德县| 文化| 威海市| 阳朔县| 竹北市| 广水市| 巴楚县| 冷水江市| 龙里县| 武安市| 峨眉山市| 富源县| 汤阴县| 永定县| 资中县| 高青县| 石渠县| 本溪市|