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

OSCHINA-MIRROR/chinasoft_ohos-WheelPicker

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

WheelPicker

Проект введения

  • Проект название: WheelPicker.
  • Серия проекта: openharmony — это серия сторонних компонентов для адаптации.
  • Функция: реализация пользовательского представления WheelView, которое обеспечивает плавное скольжение, полноту функций, простоту использования и высокую степень настройки. На основе WheelView был создан набор инструментов выбора, включая выбор даты (включая год, месяц, день WheelView) и выбор опций.
  • Состояние переноса проекта: завершено, 3D эффект изгиба в настоящее время не поддерживается.
  • Разница в вызовах: нет.
  • Версия разработки: SDK6, DevEco Studio2.2 Beta1.
  • Базовая версия: Release w1.0.7_p1.0.9.

Демонстрация эффекта

Инструкция по установке

  1. В файле build.gradle в корневом каталоге проекта:
 allprojects {
    repositories {
        maven {
            url 'https://s01.oss.sonatype.org/content/repositories/releases/'
        }
    }
 }
  1. В файле build.gradle модуля entry:
 dependencies {
    implementation('com.gitee.chinasoft_ohos:WheelPicker-wheelview:1.0.0')
    implementation('com.gitee.chinasoft_ohos:WheelPicker-Picker:1.0.0')
    ......
 }

В SDK6 и DevEco Studio2.2 Beta1 проект можно запустить напрямую. Если он не запускается, удалите файлы .gradle, .idea, build, gradle и build.gradle и создайте новый проект на основе вашей версии. Скопируйте соответствующие файлы нового проекта в корневой каталог.

Использование инструкции

WheelView

  1. Определение файла макета, предоставление компонента: WheelView.
<com.zyyoona7.wheel.WheelView
        ohos:id="@+id/wheelview"
        ohos:layout_width="wrap_content"
        ohos:layout_height="wrap_content"/>
  1. Конфигурация в AbilitySlice:
//泛型为数据类型
    final WheelView<Integer> wheelView = findViewById(R.id.wheelview);
    //初始化数据
    List<Integer> list = new ArrayList<>(1);
    for (int i = 0; i < 20; i++) {
        list.add(i);
    }
    //设置数据
    wheelView.setData(list);

    //尽请使用各种方法
    wheelView.setTextSize(24f,true);
    //more...
  1. Расширенное использование (Advanced Usage):

Вопрос: Что делать, если у меня уже есть созданный объект сущности?

Ответ: Хорошо!

Я возьму список городов в качестве примера (другие объекты аналогичны).

Мой список городов выглядит следующим образом:

public class CityEntity implements IWheelEntity, Serializable {

    //国家
    public static final String LEVEL_COUNTRY = "country";
    //省
    public static final String LEVEL_PROVINCE = "province";
    //市
    public static final String LEVEL_CITY = "city";
    //区
    public static final String LEVEL_DISTRICT = "district";

    private String citycode;
    private String adcode;
    private String name;
    private String center;
    private String level;
    private List<CityEntity> districts;

    public String getCitycode() {
        return citycode;
    }

    public void setCitycode(String citycode) {
        this.citycode = citycode;
    }

    public String getAdcode() {
        return adcode;
    }

    public void setAdcode(String adcode) {
        this.adcode = adcode;
    }

    public String getName() {
        return name == null ? "" : name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCenter() {
        return center;
    }

    public void setCenter(String center) {
        this.center = center;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public List<CityEntity> getDistricts() {
        return districts == null ? new ArrayList<CityEntity>(1) : districts;
    }

    public void setDistricts(List<CityEntity> districts) {
        this.districts = districts;
    }

    @Override
    public String toString() {
        return "CityEntity{" +
                "citycode='" + citycode + '\'' +
                ", adcode='" + adcode + '\'' +
                ", name='" + name + '\'' +
                ", center='" + center + '\'' +
                ", level='" + level + '\'' +
                ", districts=" + districts +
                '}';
    }

    /**
     * 重点:重写此方法,返回 WheelView 显示的文字
     * @return
     */
    @Override
    public String getWheelText() {
        return name == null ? "" : name;
    }
}

Обратите внимание, что мой CityEntity реализует интерфейс IWheelEntity, который определён в библиотеке WheelView. После реализации этого интерфейса в методе getWheelText() вы можете вернуть поле, которое хотите отобразить в WheelView. Использование DatePickerView

В файле макета:

<com.zyyoona7.picker.DatePickerViewEx
            ohos:height="match_content"
            ohos:width="match_parent"
/>

В коде:

    //Показать год, месяц и день
    setPickerDisplay(mYear, isDisplayYear);
    setPickerDisplay(mMonth, isDisplayMonth);
    setPickerDisplay(mDay, isDisplayDay);

    // Установить цвет выделения
    setPickTextColor(mYear, mSelectedColorYear, mNormalColorYear);
    setPickTextColor(mMonth, mSelectedColorMonth, mNormalColorMonth);
    setPickTextColor(mDay, mSelectedColorDay, mNormalColorDay);

Использование OptionsPickerView

В файле макета:

<com.zyyoona7.picker.CityPicker
        ohos:id="$+id:picker_city"
        ohos:height="160vp"
        ohos:width="match_parent"
        ohos:bottom_padding="10vp"
        ohos:start_margin="10vp"
        ohos:top_margin="5vp"
        ohos:background_element="#FFD9D5D5"
        app:select_background="false"
        app:isshow_shadow="true"
        app:issound="true">
</com.zyyoona7.picker.CityPicker>

В коде:

    pickerCity = (CityPicker) findComponentById(ResourceTable.Id_picker_city);
    pickerCity.setOnePickerValue(sign);
    pickerCity.setTwoPickerValue(sign2);
    pickerCity.setThreePickerValue(sign3);
  1. Другие инструкции
Нет

Пользовательские атрибуты WheelPicker

Имя Тип Описание
is_display_year boolean Показывать год
is_display_month boolean Показывать месяц
is_display_day boolean Показывать день
is_display_text boolean Отображать текст
selected_text_color_year color Цвет выделенного текста года
selected_text_color_month color Цвет выделенного текста месяца
selected_text_color_day color Цвет выделенного текста дня
normal_text_color_year color Цвет невыделенного текста года
normal_text_color_month color Цвет невыделенного текста месяца
normal_text_color_day color Цвет невыделенного текста дня
spacing int Интервал

Тестовая информация

CodeCheck — тестирование кода без ошибок

CloudTest — тестирование кода без ошибок

Вирусная проверка безопасности пройдена

Текущая версия demo функционально не отличается от исходного компонента

Версия итерации

  • 1.0.0

Информация о правах и лицензиях

Copyright 2018 zyyoona7
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 )

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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