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>
<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)
public void expand(); // развернуть
public void shrink(); // свернуть
public boolean isExpand();// развернуто ли
<!-- Режим отображения календаря -->
<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 )