Добавление полосы прокрутки в пользовательскую ViewGroup? - PullRequest
1 голос
/ 02 августа 2010

В макете 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 ().Я думаю, мне нужно реализовать механизм прокрутки там ...?

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

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

1 голос
/ 02 августа 2010

Ну, в основном я понял. Я должен был на самом деле обернуть узел выше с LinearLayout, а затем обернуть это вокруг ScrollView. Отступ немного сдвинут (последний элемент вырезан из вида), но он на правильном пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...