allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
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
<com.zyyoona7.wheel.WheelView
ohos:id="@+id/wheelview"
ohos:layout_width="wrap_content"
ohos:layout_height="wrap_content"/>
//泛型为数据类型
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...
Вопрос: Что делать, если у меня уже есть созданный объект сущности?
Ответ: Хорошо!
Я возьму список городов в качестве примера (другие объекты аналогичны).
Мой список городов выглядит следующим образом:
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);
Нет
Пользовательские атрибуты 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 функционально не отличается от исходного компонента
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 )