AndroidPicker
Библиотека AndroidPicker включает в себя:
«С 2022 года я больше не занимаюсь разработкой под Android, проект уже стабилен, но нуждается в поддержке. Пожалуйста, активно участвуйте в улучшении проекта, предлагайте PullRequest. В настоящее время я не могу вносить свой вклад в код».
Добро пожаловать в Issues для отправки ваших мнений или предложений. Добро пожаловать в Fork & Pull requests, чтобы внести свой код. Давайте учиться вместе.
Ссылки:
Последняя версия:
(конкретные номера версий см. в журнале изменений)
Если ваш проект использует 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' }
}
}
Все базовые окна выбора (используются для настройки всплывающих окон):
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'
}
Обфускация проекта не требует дополнительной настройки.
Общие примеры использования см. в разделе 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));
}
}
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>
//仿蚂蚁财富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 )