Как я могу сделать мой макет прокрутки по горизонтали и вертикали?
Я использую TableLayout. Мне нужно иметь как горизонтальную, так и вертикальную прокрутку для этого макета. По умолчанию я могу получить вертикальную прокрутку в представлении, но горизонтальная прокрутка не работает.
Я использую Android SDK 1.5 r3. Я уже пробовал android:scrollbars="horizontal"
.
Я читал на некоторых форумах, что в обновлении cupcake возможна горизонтальная прокрутка.
Как я могу сделать мой макет прокрутки в обоих направлениях?
4 ответа:
я смог найти простой способ добиться обоих прокрутки поведения.
вот xml для него:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical"> <HorizontalScrollView android:layout_width="320px" android:layout_height="fill_parent"> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linlay" android:layout_width="320px" android:layout_height="fill_parent" android:stretchColumns="1" android:background="#000000"/> </HorizontalScrollView> </ScrollView>
его слишком поздно, но я надеюсь, что ваш вопрос будет решить быстро с этим кодом. больше ничего не нужно делать, просто поместите свой код ниже scrollview.
<HorizontalScrollView android:id="@+id/scrollView" android:layout_width="wrap_content" android:layout_height="match_parent"> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> //xml code </ScrollView> </HorizontalScrollView>
в этой статье Scrollview вертикальный и горизонтальный в android Они говорят о возможном решении, цитируя:
Мэтт Кларк построил пользовательский вид на основе источника Android, и он, кажется, работает отлично:http://blog.gorges.us/2010/06/android-two-dimensional-scrollview
обратите внимание, что класс на этой странице имеет ошибку вычисления горизонтальной ширины представления. Исправление Мануэля Хилти находится в комментариях:
решение: Заменить инструкцию в строке 808 следующим текстом:
final int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(lp.leftMargin + lp.rightMargin, MeasureSpec.UNSPECIFIED);