Добавление полосы прокрутки в пользовательскую ViewGroup?

1

У меня есть следующий node в моем XML-макете:

<com.x.y.view.TagLayout android:id="@+id/TagLayout" 
android:layout_width="fill_parent" android:layout_height="170dip" />

TagLayout - это класс, который расширяет ViewGroup и в основном содержит кучу кнопок с текстом (пользовательский объект, который действует как теги, но не здесь и не там).

Проблема заключается в том, что при слишком большом количестве кнопок вид больше не прокручивается. Я могу подтвердить, что добавляю теги, но ничего не вижу.

Если я завершу выше в ScrollView, макет никогда не будет отображаться. Я попытался добавить атрибуты android: isScrollContainer и android: полосы прокрутки, но это ничего не меняет. Здесь что-то не хватает?

Я также должен добавить, что TagLayout переопределяет событие onMeasure(). Наверное, мне нужно реализовать механизм прокрутки...?

Теги:
scrollbar
uiview

2 ответа

1
Лучший ответ

Ну, я в основном получил его. Мне пришлось на самом деле обернуть node с помощью LinearLayout, а затем обернуть ЭТО вокруг ScrollView. Заполнение немного (последний элемент вырезается из представления), но он находится на правильном пути.

  • 0
    Вы решаете эту проблему?
  • 0
    Пожалуйста, поделитесь своим кодом, если это возможно. Я хотел бы взглянуть, так как я столкнулся с той же проблемой .. Спасибо, если вы могли бы сделать это. заранее спасибо
1

Вы можете добавить прокрутку к своему пользовательскому ViewGroup, не обернув его в несколько других макетов и представлений (на самом деле лучше не обертывать его, если вам не нужно... иметь иерархию иерархии слоев намного лучше для представление). Просто сделайте все, что описано в этом вопросе , и убедитесь, что вы добавили setWillNotDraw(false); в свой собственный конструктор ViewGroup, как описано в этом ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню