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

OSCHINA-MIRROR/li_yu_jiang-AndroidPicker

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

AndroidPicker

Библиотека AndroidPicker включает в себя:

  • Выбор даты и времени (можно использовать для дня рождения, рабочего времени и т. д.).
  • Однозначный выбор (можно использовать для пола, национальности, профессии, образования, знака зодиака и т.д.).
  • Двухуровневый и трехуровневый взаимосвязанный выбор (можно использовать для номераной знак автомобиля, даты фиксированного инвестирования и т. д.).
  • Адресный выбор города (разделяется на уровень провинции, уровень города и уровень района).
  • Цифровой выбор (можно использовать для возраста, роста, веса, температуры и т. д.)
  • Календарь для выбора даты (можно использовать при бронировании отелей и билетов).
  • Выбор цвета.
  • Выбор файлов и каталогов и др.

«С 2022 года я больше не занимаюсь разработкой под Android, проект уже стабилен, но нуждается в поддержке. Пожалуйста, активно участвуйте в улучшении проекта, предлагайте PullRequest. В настоящее время я не могу вносить свой вклад в код».

Добро пожаловать в Issues для отправки ваших мнений или предложений. Добро пожаловать в Fork & Pull requests, чтобы внести свой код. Давайте учиться вместе.

Ссылки:

Руководство по подключению

Последняя версия: jitpack (конкретные номера версий см. в журнале изменений)

Обратите внимание

  • С версии 3.0.0 полностью переработана базовая структура кода, улучшена производительность, улучшено взаимодействие с XML-макетами. Версия 3.x API отличается от версий 1.x и 2.x. Пожалуйста, будьте осторожны при обновлении.
  • Версия поддержки 1.x
  • Версия androidx 2.0

Конфигурация зависимостей

В файле build.gradle в корневом каталоге проекта

Если ваш проект использует Gradle версии ниже 7.0, вам необходимо добавить следующее в файл build.gradle:

allprojects {
    repositories {
        // JitPack удалённый репозиторий: https://jitpack.io
        maven { url 'https://jitpack.io' }
    }
}

Если ваша конфигурация Gradle — 7.0 или выше, вам нужно добавить следующее в settings.gradle:

dependencyResolutionManagement {
    repositories {
        // JitPack удалённое хранилище: https://jitpack.io
        maven { url 'https://jitpack.io' }
    }
}

В модуле проекта build.gradle (не все зависимости должны быть включены, выберите по мере необходимости)

Все базовые окна выбора (используются для настройки всплывающих окон):

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:Common:<version>'
}

Компонент выбора колеса (используется для настройки компонента выбора колеса):

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelView:<version>'
}

Однозначные/цифровые, двухуровневые и трёхуровневые взаимосвязанные, дата/время и другие компоненты выбора колеса:

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:<version>'
}

Выбор адреса города:

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:AddressPicker:<version>'
}

Выбор файла/каталога:

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:FilePicker:<version>'
}

Выбор цвета:

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:ColorPicker:<version>'
}

Календарь выбора даты (README.md):

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:CalendarPicker:<version>'
}

Выбор изображения (README.md):

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:ImagePicker:<version>'
}

Старая версия стабильной версии AndroidX (не рекомендуется):

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:Common:2.0.0'
    implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:2.0.0'
    implementation 'com.github.gzu-liyujiang.AndroidPicker:FilePicker:2.0.0'
    implementation 'com.github.gzu-liyujiang.AndroidPicker:ColorPicker:2.0.0'
}

Старая версия версии поддержки (не рекомендуется):

dependencies {
    implementation 'com.github.gzu-liyujiang.AndroidPicker:Common:1.5.6.20181018'
    implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:1.5.6.20181018'
    implementation 'com.github.gzu-liyujiang.AndroidPicker:FilePicker:1.5.6.20181018'
    implementation 'com.github.gzu-liyujiang.AndroidPicker:ColorPicker:1.5.6.20181018'
}

Описание API

Описание API .

Правила обфускации

Обфускация проекта не требует дополнительной настройки.

Примеры использования

Общие примеры использования см. в разделе demo, а примеры расширенного использования см. в исходном коде (/WheelPicker), например, можно переопределить одноимённый assets/china_address.json для настройки данных провинции, города и района, переопределить одноимённую DialogSheetAnimation для настройки анимации всплывающего окна и т. д. Код — лучший учитель, настоятельно рекомендуется загрузить код и запустить его, попытаться изменить demo и сравнить результаты, чтобы лучше понять. Перевод текста на русский язык:

<android:id="@+id/wheel_view"
    android:layout_width="117dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    app:wheel_atmosphericEnabled="true"
    app:wheel_curvedEnabled="true"
    app:wheel_curvedIndicatorSpace="4dp"
    app:wheel_curvedMaxAngle="60"
    app:wheel_indicatorColor="#FF0081FF"
    app:wheel_itemSpace="50dp"
    app:wheel_itemTextColor="#FF474747"
    app:wheel_itemTextColorSelected="#FF0081FF"
    app:wheel_itemTextSize="20sp" />
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <com.github.gzuliyujiang.wheelpicker.widget.OptionWheelLayout
        android:id="@+id/wheel_option"
        android:layout_width="90dp"
        android:layout_height="150dp"
        android:layout_gravity="center_horizontal"
        app:wheel_itemTextAlign="center" />

    <com.github.gzuliyujiang.wheelpicker.widget.DateWheelLayout
        android:layout_width="120dp"
        android:layout_height="150dp"
        android:layout_gravity="center_horizontal"
        app:wheel_dateMode="month_day"
        app:wheel_dayLabel="日"
        app:wheel_monthLabel="月" />

    ...

</LinearLayout>

自定义样式(可选)

全局配置所有选择器样式及配色

//4.0.0版本开始内置支持四种弹窗样式(Default、One、Two、Three),效果可运行Demo查看
public class DemoApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        DialogConfig.setDialogStyle(DialogStyle.Default);
        DialogConfig.setDialogColor(new DialogColor()
                .cancelTextColor(0xFF999999)
                .okTextColor(0xFF0099CC));
    }

}

自定义 style

  • 调用 setStyle (只作用于当前选择器,推荐)

В app/.../res/values/styles.xml можно обратиться к WheelDefault и написать свой стиль, а затем установить его.

picker.getWheelView().setStyle(R.style.WheelStyleDemo);
  • Переписать WheelDefault, чтобы перекрыть (все селекторы будут работать, не рекомендуется)

В app/.../res/values/styles.xml можно переписать WheelDefault.

<style name="WheelDefault">
    <item name="wheel_itemSpace">15dp</item>
    <item name="wheel_itemTextColor">@android:color/darker_gray</item>
    <item name="wheel_itemTextColorSelected">@android:color/holo_blue_dark</item>
    <item name="wheel_itemTextSize">16sp</item>
    <item name="wheel_itemTextSizeSelected">18sp</item>
    <item name="wheel_itemTextBoldSelected">false</item>
    <item name="wheel_sameWidthEnabled">false</item>
    <item name="wheel_atmosphericEnabled">true</item>
    <item name="wheel_curtainEnabled">false</item>
    <item name="wheel_curtainColor">#FFDEDEDE</item>
    <item name="wheel_curvedEnabled">false</item>
    <item name="wheel_curvedMaxAngle">90</item>
    <item name="wheel_cyclicEnabled">false</item>
    <item name="wheel_indicatorEnabled">true</item>
    <item name="wheel_indicatorColor">@android:color/holo_blue_light</item>
    <item name="wheel_indicatorSize">1dp</item>
</style>

В Java интегрировать переписанный стиль и цвет для конкретного селектора

//仿蚂蚁财富APP定投周期选择弹窗样式
public class AntFortuneLikePicker extends LinkagePicker {
    private int lastDialogStyle;

    public AntFortuneLikePicker(@NonNull Activity activity) {
        super(activity);
    }

    @Override
    protected void onInit(@NonNull Context context) {
        super.onInit(context);
        lastDialogStyle = DialogConfig.getDialogStyle();
        DialogConfig.setDialogStyle(DialogStyle.Default);
    }

    @Override
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);
        DialogConfig.setDialogStyle(lastDialogStyle);
    }

    @Override
    protected void initData() {
        super.initData();
        setBackgroundColor(0xFFFFFFFF);
        cancelView.setText("取消");
        cancelView.setTextSize(16);
        cancelView.setTextColor(0xFF0081FF);
        okView.setTextColor(0xFF0081FF);
        okView.setText("确定");
        okView.setTextSize(16);
        titleView.setTextColor(0xFF333333);
        titleView.setText("定投周期");
        titleView.setTextSize(16);
        wheelLayout.setData(new AntFortuneLikeProvider());
        wheelLayout.setAtmosphericEnabled(true);

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

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

Введение

Библиотека классов-селекторов для Android, включающая в себя селекторы даты и времени (могут использоваться для даты рождения, рабочего времени и т.д.), одноуровневые селекторы (для пола, национальности, профессии, образования, знака зодиака и т.п.), двух- и трехуровневые зависимые селекторы (например, для номера автомобиля, даты инвестирования ... Развернуть Свернуть
MulanPSL-2.0
Отмена

Обновления

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

Участники

все

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

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