Создание Пользовательского Компонента На Основе Listview

Для Android-приложения мне нужен был элемент интерфейса, отдаленно напоминающий DatePicker. Он должен быть в состоянии:

  • прокрутите список от начала до конца (но не по кругу), чтобы выделить центральный элемент.
  • По мере удаления элемента от центра компонента меняйте шрифт и прозрачность цифр.

  • «довести» список до нужного элемента
  • отображать указанное количество элементов на экране
  • определить направление прокрутки (вверх или вниз)
  • нарисовать тень для содержимого текстовых полей
В итоге у вас должен получиться такой компонент:

Создание пользовательского компонента на основе ListView

Давайте унаследуем наш компонент RollView от LinearLayout с дочерним элементом ListView. Внутри компонента мы реализуем интерфейс OnScrollListener для определения поведения прокрутки ListView.
  
   

public class RollView extends LinearLayout implements OnScrollListener{ private final ListView innerListView; }

В конструкторе мы инициализируем ListView через XML-файл и назначаем прослушиватель.

Чтобы представить данные, давайте создадим внутренний адаптер с переопределенным методом getView():

private class RollAdapter extends ArrayAdapter<String> { private final LayoutInflater mInflater; @Override public View getView(int position, View convertView, ViewGroup parent) {

Теги: #Android #Views #пользовательский вид #java #разработка Android

Вместе с данным постом часто просматривают: