На основе работы автора wangjie были внесены изменения, позволяющие нескольким колесам динамически обновляться и выполнять различные операции. Подробные методы использования будут выложены после завершения.
Удалены зависимости от логирования и аннотационного программирования.
При работе с данными до 300 записей всё работает корректно, но при большем количестве данных возникают проблемы, требующие оптимизации.
**Этот проект может работать независимо, а также можно настроить его как библиотеку (в файле project.properties проекта установите android.library=true или используйте Eclipse)**
См. рисунки ниже:
Контрольная панель Android для выбора значений
Приведённые выше данные представлены для справки. Реализация вертикального скроллинга выбора в Android
Способ использования:
java public class MainActivity extends AIActivity { public static final String TAG = MainActivity.class.getSimpleName(); private static final String[] PLANETS = new String[]{"河北", "北京", "地球", "火星", "木星", "天王星", "海王星", "冥王星", "其他"}; @AIView(R.id.main_wv) private WheelView wva;
河北 - Hebei
北京 - Beijing
地球 - Zemlya
火星 - Mars
木星 - Jupiter
天王星 - Uranus
海王星 - Neptune
冥王星 - Pluto
其他 - Drugie java @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); wva.setOffset(1); // смещение, один элемент сверху и снизу wva.setItems(Arrays.asList(PLANETS)); wva.setOnWheelViewListener(new WheelView.OnWheelViewListener() { @Override public void onSelected(int selectedIndex, String item) { Logger.d(TAG, "selected index: " + selectedIndex + ", item: " + item); } }); }
/**
* Регистрация слушателя onClickCallbackSample может быть выполнена в XML файле layout
* <Button
* android:id="@+id/main_show_dialog_btn"
* android:layout_width="match_parent"
* android:layout_height="wrap_content"
* android:layout_margin="8dp"
* android:onClick="onClickCallbackSample"
* android:text="Показать WheelView в диалоге!" />
*/
public void onClickCallbackSample(View view) {
switch (view.getId()) {
case R.id.main_show_dialog_btn:
View outerView = LayoutInflater.from(context).inflate(R.layout.wheel_view, null);
WheelView wv = (WheelView) outerView.findViewById(R.id.wheel_view_wv);
wv.setOffset(2);
wv.setItems(Arrays.asList(PLANETS));
wv.setSelection(3);
wv.setOnWheelViewListener(new WheelView.OnWheelViewListener() {
@Override
public void onSelected(int selectedIndex, String item) {
Logger.d(TAG, "[Dialog]selectedIndex: " + selectedIndex + ", item: " + item);
}
});
new AlertDialog.Builder(context)
.setTitle("WheelView в диалоге")
.setView(wv)
.create()
.show();
break;
}
}
}
```
Примечание: В данном примере используется метод Logger.d
для логгирования информации. Также заменены названия планет на китайские эквиваленты.```markdown
.setView(outerView)
.setPositiveButton("OK", null)
.show();
break;
```markdown
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )