LQRDropdownLayoutLibrary
Описание:
Выпадающий навигационный меню, простой в использовании.
LQRDropdownLayout
Данный проект представляет собой выпадающее навигационное меню, простое в использовании. Он основан на проекте FilterDropDownMenu-master и был создан для упрощения его использования. В исходном проекте слишком много кода требовалось только для создания макета, и если выпадающие меню использовались в нескольких местах проекта, это приводило к избыточности кода. Поэтому данный макет был оптимизирован и дополнен новыми эффектами (например, можно настроить фон выбранного элемента списка и значок рядом с ним).
Для использования достаточно выполнить два шага:
Импортировать:
compile 'com.lqr.dropdownLayout:library:1.0.0'
Установить макет:
<com.lqr.dropdownlayout.LQRDropdownLayout
android:id="@+id/dl"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:ddl_item_selected__drawable="@mipmap/ic_task_status_list_check"
app:ddl_item_text_gravity="left"
app:ddl_list_max_height="250dp"
app:ddl_top_btn_noraml_drawable="@mipmap/ic_dropdown_normal"
app:ddl_top_btn_selected_drawable="@mipmap/ic_dropdown_actived"/>
Контролировать код:
LQRDropdownLayout mDl = (LQRDropdownLayout) findViewById(R.id.dl);
mDl.setCols(2);
// Создание содержимого области
TextView tv = new TextView(this);
tv.setText("Я — содержимое, может быть View или ViewGroup");
// Создаем данные выпадающего списка
final List<Map<String, String>> listData = new ArrayList<>();
for (int i = 0; i < mDl.getCols(); i++) {
// Здесь используем LinkedHashMap, чтобы элементы выпадающего списка были упорядочены
Map<String, String> map = new LinkedHashMap<>();
for (int j = 0; j < 6; j++) {
map.put("name " + j, "value " + j);
}
listData.add(map);
}
// Инициализация (этот метод должен быть вызван)
mDl.init(tv, listData);
// Устанавливаем прослушиватель кликов для выпадающего меню
mDl.setOnDropdownListListener(new LQRDropdownLayout.OnDropdownListListener() {
@Override
public void OnDropdownListSelected(int indexOfButton, int indexOfList, String textOfList, String valueOfList) {
}
@Override
public void onDropdownListOpen() {
}
@Override
public void onDropdownListClosed() {
}
});
Возможные эффекты:
Другие настройки
Из-за большого количества настраиваемых свойств данного компонента здесь приведены лишь некоторые примеры. Пожалуйста, ознакомьтесь с полным списком настраиваемых атрибутов:
<resources>
<declare-styleable name="DropdownLayout">
<!-- Количество столбцов в выпадающем списке -->
<attr name="ddl_cols" format="integer"/>
<!-- Отображать только один элемент в выпадающем меню. Если в списке выбран элемент 5, то элемент 5 исчезнет, а кнопка выпадающего меню покажет имя элемента 5 -->
<attr name="ddl_only_show_one" format="boolean"/>
<!-- Фон верхней части выпадающего меню -->
<attr name="ddl_top_bg" format="color"/>
<!-- Высота верхней части выпадающего меню -->
<attr name="ddl_top_height" format="dimension"/>
<!-- Цвет разделительной линии в верхней части выпадающего меню -->
<attr name="ddl_top_split_line_color" format="color"/>
<!-- Ширина разделительной линии в верхней части выпадающего меню -->
<attr name="ddl_top_split_line_width" format="dimension"/>
<!-- Высота разделительной линии в верхней части выпадающего меню -->
<attr name="ddl_top_split_line_height" format="dimension"/>
<!-- Префикс текста кнопки в верхней части -->
<attr name="ddl_top_btn_text_prefix" format="string"/>
<!-- Суффикс текста кнопки в верхней части -->
<attr name="ddl_top_btn_text_suffix" format="string"/>
<!-- Размер текста кнопки в верхней части -->
<attr name="ddl_top_btn_text_size" format="dimension"/>
<!-- Цвет текста кнопки в верхней части в обычном состоянии -->
<attr name="ddl_top_btn_text_normal_color" format="color"/>
<!-- Цвет текста кнопки в верхней части при выборе -->
<attr name="ddl_top_btn_text_selected_color" format="color"/>
<!-- Изображение, отображаемое при обычном состоянии текста кнопки в верхней части -->
<attr name="ddl_top_btn_selected_drawable" format="reference"/>
<!-- Изображение, отображаемое при выбранном состоянии текста кнопки в верхней части -->
<attr name="ddl_top_btn_noraml_drawable" format="reference"/>
<!-- Ширина нижней линии -->
<attr name="ddl_top_bottom_line_width" format="dimension"/>
<!-- Высота нижней линии -->
<attr name="ddl_top_bottom_line_height" format="dimension"/>
<!-- Цвет нижней линии -->
<attr name="ddl_top_bottom_line_color" format="color"/>
<!-- Цвет разделительной линии -->
<attr name="ddl_split_line_color" format="color"/>
<!-- Ширина разделительной линии -->
<attr name="ddl_split_line_width" format="dimension"/>
<!-- Высота разделительной линии -->
<attr name="ddl_split_line_height" format="dimension"/>
<!-- Цвет фона маски -->
<attr name="ddl_mask_bg" format="color"/>
<!-- Максимальная высота выпадающего списка -->
<attr name="ddl_list_max_height" format="dimension"/>
<!-- Внутренний отступ слева для элементов выпадающего списка -->
<attr name="ddl_item_padding_left" format="dimension"/>
<!-- Внутренний отступ справа для элементов выпадающего списка -->
<attr
Это всё, что удалось перевести из предоставленного текста. name="ddl_item_padding_right" format="dimension"/>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )