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

OSCHINA-MIRROR/GitLqr-LQROptionItemView

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 4.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 06:25 ee2473c

LQROptionItemView

Проект содержит часто используемый в разработке компонент для отображения опций.

1. Введение:

В процессе разработки проектов часто возникает необходимость создания меню настроек, которое обычно включает в себя несколько простых опций. Каждая опция может содержать комбинацию элементов макета и дополнительных компонентов (текст или изображение). В XML-разметке можно легко создать макет для одной опции, но если в меню настроек 10 и более опций с одинаковым макетом, это может выглядеть громоздко. Обычно в одном меню настроек содержится не менее трёх опций. Для решения этой проблемы был разработан проект LQROptionItemView, который удовлетворяет потребности в создании стандартных макетов для опций. Давайте рассмотрим его работу на примере.

image

2. Использование:

1. Добавьте зависимость проекта в свой проект:

compile 'com.lqr.optionitemview:library:1.0.7'

2. Используйте в макете (свойства опциональны, если не заданы, то не отображаются):

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

<com.lqr.optionitemview.OptionItemView
    android:id="@+id/oiv"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:background="#abcdef"
    app:left_image_margin_left="20dp"
    app:left_image_margin_right="20dp"
    app:left_src="@mipmap/ic_launcher"
    app:left_text="left"
    app:left_text_color="#f00"
    app:left_text_margin_left="20dp"
    app:left_text_size="15sp"
    app:right_image_margin_left="20dp"
    app:right_image_margin_right="20dp"
    app:right_src="@mipmap/ic_launcher"
    app:right_text="right"
    app:splite_mode="true"
    app:right_text_color="#f00"
    app:right_text_margin_right="20dp"
    app:right_text_size="16sp"
    app:title="title"
    app:title_color="#00f"/>

3. Обработка событий кликов:

1) Режим разделения:

Необходимо установить split_mode=true, по умолчанию установлено false.

oiv.setOnOptionItemClickListener(new OptionItemView.OnOptionItemClickListener() {
    @Override
    public void leftOnClick() {
        Toast.makeText(getApplicationContext(), "Левая сторона была нажата", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void centerOnClick() {
        Toast.makeText(getApplicationContext(), "Центр был нажата", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void rightOnClick() {
        Toast.makeText(getApplicationContext(), "Правая сторона была нажата", Toast.LENGTH_SHORT).show();
    }
});

2) Общий режим:

Необходимо установить split_mode=false, по умолчанию установлено false.

oiv.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(getApplicationContext(), "Всё было нажато", Toast.LENGTH_SHORT).show();
    }
});

4. Динамическое изменение свойств кода:

setTitleText(String text) setTitleText(int stringId) setTitleColor(int color) setTitleSize(int sp)

setLeftText(String text) setLeftText(int stringId) setLeftTextSize(int sp) setLeftTextColor(int color) setLeftTextMarginLeft(int dp) setLeftImageMarginLeft(int dp) setLeftImageMarginRight(int dp) setLeftImage(Bitmap bitmap) showLeftImg(boolean flag) showLeftText(boolean flag)

setRightImage(Bitmap bitmap) setRightText(String text) setRightText(int stringId) setRightTextColor(int color) setRightTextSize(int sp) setRightTextMarginRight(int dp) setRightImageMarginLeft(int dp) setRightImageMarginRight(int dp) showRightImg(boolean flag) showRightText(boolean flag)

setSpliteMode(boolean spliteMode) getSpliteMode()

5. Объяснение отдельных пользовательских свойств:

image

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/GitLqr-LQROptionItemView.git
git@api.gitlife.ru:oschina-mirror/GitLqr-LQROptionItemView.git
oschina-mirror
GitLqr-LQROptionItemView
GitLqr-LQROptionItemView
master