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

OSCHINA-MIRROR/huanghaibin_dev-CalendarView

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_ZH.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 23:45 1070ce6

CalenderView

Android-приложение, элегантное, с высокой степенью кастомизации и высокой производительностью. Оно идеально поддерживает вид календаря по неделям, поддерживает маркировку, настраиваемые цвета, китайский лунный календарь и т. д., позволяет полностью контролировать отображение месяца и даты, а также предоставляет возможность настраивать начало недели.

Приложение использует технологию Canvas для рисования, что обеспечивает высокую скорость работы и низкую нагрузку на память. Поддерживает простую настройку для реализации любой пользовательской компоновки и пользовательского интерфейса, а также поддерживает сжатие и расширение, что делает его очень эффективным. Потребление памяти и эффективность работы приложения действительно заметны. Кроме того, приложение адаптируется к различным сценариям использования и поддерживает одновременное использование нескольких цветов для маркировки событий в календаре.

GitHub-репозиторий содержит весь исходный код проекта, который доступен для свободного использования.

Примечание: В запросе присутствуют изображения, которые не были включены в перевод текста. Также в тексте запроса присутствуют ссылки на сторонние ресурсы, которые также не были переведены. ### Прогресс-бары

 

Стиль «Звёздная карта»

 

Обратите внимание: не копируйте эти три пути, а замените их на свои собственные.

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"
``` **getMinRangeCalendar();** // получение даты минимального диапазона

**public Calendar getMaxRangeCalendar();**  // получение даты максимального диапазона

/**
 * Установка цвета фона
 *
 * @param monthLayoutBackground цвет фона карточки месяца
 * @param weekBackground цвет фона колонки недели
 * @param lineBg цвет линии
 */
public void setBackground(int monthLayoutBackground, int weekBackground, int lineBg)

/**
* Установка цвета текста
*
* @param curMonthTextColor цвет шрифта текущего месяца
* @param otherMonthColor цвет шрифта других месяцев
* @param lunarTextColor цвет шрифта лунного календаря
*/
public void setTextColor(int curMonthTextColor,int otherMonthColor,int lunarTextColor)

/**
* Настройка выбранного эффекта
*
* @param style выбранный стиль: CalendarCardView.STYLE_FILL или CalendarCardView.STYLE_STROKE
* @param selectedThemeColor цвет выбранной темы
* @param selectedTextColor цвет выбранного шрифта
*/
public void setSelectedColor(int style, int selectedThemeColor, int selectedTextColor)

/**
* Настройка цвета метки
*
* @param style стиль метки: CalendarCardView.STYLE_FILL или CalendarCardView.STYLE_STROKE
* @param schemeColor цвет фона метки
* @param schemeTextColor цвет шрифта метки
*/
public void setSchemeColor(int style, int schemeColor, int schemeTextColor)


/**
* Настройка цвета фона и шрифта колонки недели
*
* @param weekBackground цвет фона
* @param weekTextColor цвет шрифта
*/
public void setWeeColor(int weekBackground, int weekTextColor)

API CalendarLayout

public void expand(); // развернуть

public void shrink(); // свернуть

public boolean isExpand();// развернуто ли

Атрибуты CalendarLayout

<!-- Режим отображения календаря -->
<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 )

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

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