1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/huanghaibin_dev-CalendarView

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Звёздная схема

Звёздная схема

     

Особенно обратите внимание, что не следует копировать эти три пути, а необходимо заменить их на собственные пути.

app:month_view="com.haibin.calendarviewproject.simple.SimpleMonthView"
app:week_view="com.haibin.calendarviewproject.simple.SimpleWeekView"
app:week_bar_view="com.haibin.calendarviewproject.EnglishWeekBar"

Использование метода

<com.haibin.calendarview.CalendarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        app:default_status="shrink"
        app:calendar_show_mode="only_week_view"
        app:calendar_content_view_id="@+id/recyclerView">

        <com.haibin.calendarview.CalendarView
             android:id="@+id/calendarView"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:background="#fff"
             app:month_view="com.haibin.calendarviewproject.simple.SimpleCalendarCardView"
             app:week_view="com.haibin.calendarviewproject.simple.SimpleWeekView"
             app:week_bar_view="com.haibin.calendarviewproject.EnglishWeekBar"
             app:calendar_height="50dp"
             app:current_month_text_color="#333333"
             app:current_month_lunar_text_color="#CFCFCF"
             app:min_year="2004"
             app:other_month_text_color="#e1e1e1"
             app:scheme_text="假"
             app:scheme_text_color="#333"
             app:scheme_theme_color="#333"
             app:selected_text_color="#fff"
             app:selected_theme_color="#333"
             app:week_start_with="mon"
             app:week_background="#fff"
             app:month_view_show_mode="mode_only_current"
             app:week_text_color="#111" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#d4d4d4" />
    </com.haibin.calendarview.CalendarLayout>

CalendarView attrs

<declare-styleable name="CalendarView">

        <attr name="calendar_padding" format="dimension" /><!--日历内部左右padding-->

        <attr name="month_view" format="color" /> <!--自定义类日历月视图路径-->
        <attr name="week_view" format="string" /> <!--自定义类周视图路径-->
        <attr name="week_bar_height" format="dimension" /> <!--星期栏的高度-->
        <attr name="week_bar_view" format="color" /> <!--自定义类周栏路径,通过自定义则 week_text_color week_background xml设置无效,当仍可java api设置-->
        <attr name="week_line_margin" format="dimension" /><!--线条margin-->

        <attr name="week_line_background" format="color" /><!--线条颜色-->
        <attr name="week_background" format="color" /> <!--星期栏的背景-->
        <attr name="week_text_color" format="color" /> <!--星期栏文本颜色-->
        <attr name="week_text_size" format="dimension" /><!--星期栏文本大小-->

        <attr name="current_day_text_color" format="color" /> <!--今天的文本颜色-->
        <attr name="current_day_lunar_text_color" format="color" /><!--今天的农历文本颜色-->

        <attr name="calendar_height" format="string" /> <!--日历每项的高度,56dp-->
        <attr name="day_text_size" format="string" /> <!--天数文本大小-->
        <attr name="lunar_text_size" format="string" /> <!--农历文本大小-->

        <attr name="scheme_text" format="string" /> <!--标记文本-->
        <attr name="scheme_text_color" format="color" /> <!--标记文本颜色-->
        <attr name="scheme_month_text_color" format="color" /> <!--标记天数文本颜色-->
        <attr name="scheme_lunar_text_color" format="color" /> <!--标记农历文本颜色-->

        <attr name="scheme_theme_color" format="color" /> <!--标记的颜色-->

        <attr name="selected_theme_color" format="color" /> <!--选中颜色-->
        <attr name="selected_text_color" format="color" /> **Выбор цвета шрифта**

    * selected_lunar_text_color — выбранный цвет текста на китайском лунном календаре.

    * current_month_text_color — цвет шрифта для текущего месяца.

    * other_month_text_color — цвет шрифта для остальных месяцев.

    * current_month_lunar_text_color — цвет текста праздничных дней текущего месяца по китайскому лунному календарю.

    * other_month_lunar_text_color — цвет текста праздничных дней остальных месяцев по китайскому лунному календарю.  

**Параметры вида календаря по годам**

    * year_view_month_text_size — размер шрифта для обозначения месяца в представлении календаря по годам.

    * year_view_day_text_size — размер шрифта для отображения даты в представлении календаря по годам. 

    * year_view_month_text_color — цвет шрифта для обозначения месяца в представлении календаря по годам.

    * year_view_day_text_color — цвет шрифта для отображения дат в представлении календаря по годам.

    * year_view_scheme_color — цвет маркеров в представлении календаря по годам.  

**Диапазон лет**

    * min_year — минимальная допустимая дата: 1900 год.

    * max_year — максимальная допустимая дата: 2099 год.

    * min_year_month — месяц, соответствующий минимальной допустимой дате.

    * max_year_month — месяц, соответствующий максимальной допустимой дате.  

**Вид календаря по месяцам**

    * month_view_scrollable — возможность прокрутки вида календаря по месяцам.

**Вид календаря по неделям**

    * week_view_scrollable — возможность прокрутки вида календаря по неделям.

**Вид календаря по годам**

    * year_view_scrollable — возможность прокрутки вида календаря по годам.  

**Режим отображения вида календаря по месяцам**

    * mode_all — режим отображения всех месяцев.

    * mode_only_current — режим отображения только текущего месяца.

    * mode_fix — адаптивный режим отображения, при котором месяцы не переносятся на новую строку, но автоматически заполняются.  

**Начало недели**

    * enum name="sun" value="1" — начало недели с воскресенья.

    * enum name="mon" value="2" — начало недели с понедельника.

    * enum name="sat" value="7" — начало недели с субботы.  

**Режимы выбора**

    * default_mode — стандартный режим выбора.

    * single_mode — одиночный режим выбора.

    * range_mode — режим выбора диапазона.  

**При режиме range_mode**

    * min_select_range — минимальный диапазон выбора.

    * max_select_range — максимальный диапазон выбора.  

### CalendarView API

**Методы класса CalendarView**

* setRange(int minYear, int minYearMonth, int minYearDay, int maxYear, int maxYearMonth, int maxYearDay) — устанавливает диапазон дат.

* getCurDay() — возвращает текущую дату.

* getCurMonth() — возвращает текущий месяц.

* getCurYear() — возвращает текущий год.  

* isYearSelectLayoutVisible() — проверяет, открыт ли вид календаря по годам.

* closeYearSelectLayout() — закрывает вид календаря по годам.

* showYearSelectLayout(final int year) — быстро открывает вид календаря по году.  

* setOnMonthChangeListener(OnMonthChangeListener listener) — регистрирует слушателя изменения месяца.

* setOnYearChangeListener(OnYearChangeListener listener) — регистрирует слушателя переключения года.  

* setOnCalendarSelectListener(OnCalendarSelectListener listener) — регистрирует слушателя выбора даты.

* setOnCalendarLongClickListener(OnCalendarLongClickListener listener) — регистрирует обработчик длинного нажатия на дату.  

* setSchemeDate(Map<String, Calendar> mSchemeDates) — задаёт даты-маркеры.

* update() — динамически обновляет календарь.

* getSelectedCalendar() — получает выбранную дату.  

* scrollToCurrent() — прокручивает до текущей даты.

* scrollToCurrent(boolean smoothScroll) — прокручивает до текущей даты с плавной прокруткой или без неё.

* scrollToYear(int year) — прокручивает до указанного года.

* scrollToPre() — прокручивает к предыдущему месяцу.

* scrollToNext() — прокручивает к следующему месяцу.  

* scrollToCalendar(int year, int month, int day) — прокручивает к указанной дате.

* getMinRangeCalendar() — получает минимальную дату диапазона.

* getMaxRangeCalendar() — получает максимальную дату диапазона. **setBackground(int monthLayoutBackground, int weekBackground, int lineBg)**

/**
  * Устанавливает цвет текста.
  *
  */
public void setTextColor(int curMonthTextColor,int otherMonthColor,int lunarTextColor)

/**
 * Устанавливает выбранный эффект.
 *
 */
public void setSelectedColor(int style, int selectedThemeColor, int selectedTextColor)

/**
* Устанавливает цвета для меток.
*
*/
public void setSchemeColor(int style, int schemeColor, int schemeTextColor)


/**
* Устанавливает фон и цвет шрифта для столбцов с названиями недель.
*
*/
public void setWeeColor(int weekBackground, int weekTextColor)

CalendarLayout api

public void expand(); //раскрыть

public void shrink(); //сжать

public boolean isExpand();//раскрыто ли

CalendarLayout attrs


<!-- Режим отображения календаря -->
<attr name="calendar_show_mode">
      <enum name="both_month_week_view" value="0" /><!-- По умолчанию оба -->
      <enum name="only_week_view" value="1" /><!-- Только недельный просмотр -->
      <enum name="only_month_view" value="2" /><!-- Только месячный просмотр -->
</attr>

<attr name="default_status">
      <enum name="expand" value="0" /> <!--По умолчанию раскрыто-->
      <enum name="shrink" value="1" /><!--По умолчанию сжато-->
</attr>

<attr name="calendar_content_view_id" format="integer" /><!--Идентификатор содержимого макета-->

Лицензии

  • Copyright (C) 2013 huanghaibin_dev huanghaibin_dev@163.com

  • Licensed under the Apache License, Version 2.0 (the "License");

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  •     http://www.apache.org/licenses/LICENSE-2.0
  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an "AS IS" BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and limitations under the License.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

На Android элегантный, универсальный настраиваемый пользовательский интерфейс (UI), похожий на iOS, поддерживающий вертикальное и горизонтальное переключение направлений, вид по окружности и настраиваемое начало окружности, высокопроизводительный и эффективный календарь с поддержкой горячей замены (hot plug), реализующий настройку пользовательск... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/huanghaibin_dev-CalendarView.git
git@api.gitlife.ru:oschina-mirror/huanghaibin_dev-CalendarView.git
oschina-mirror
huanghaibin_dev-CalendarView
huanghaibin_dev-CalendarView
master