TableLayout ScrollView Вертикальный и горизонтальный - PullRequest
5 голосов
/ 01 сентября 2011

Как мы можем настроить ScrollView по вертикали и горизонтали? Я попробовал приведенный ниже код, но он не работал.

<ScrollView
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:background="@color/red"
 android:scrollbarFadeDuration="1000"
 android:scrollbarSize="12dip" >

   <HorizontalScrollView
     android:id="@+id/horizontalScrollView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" >

      <TableLayout
        android:id="@+id/tableLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:collapseColumns="2"
        android:stretchColumns="1" >
    </TableLayout>
</HorizontalScrollView>

<ScrollView >
</ScrollView>

Вот весь мой код: http://pastebin.com/ysRhLMyt

Текущий экран:

enter image description here

Я хочу отображать полосу прокрутки всегда.

Ответы [ 4 ]

3 голосов
/ 01 сентября 2011

Try,

  • Установить андроид: scrollbarFadeDuration = "0"

               OR 
    
  • ScrollView1.setScrollbarFadingEnabled (false);

               OR
    
  • android: scrollbarFadeDuration = "0" и

    android: scrollbarAlwaysDrawVerticalTrack = "true" для вертикального

    android:scrollbarAlwaysDrawHor horizontalTrack = "true" для горизонтального

И еще одна вещь,

Помните, что ScrollView может иметь только один дочерний элемент управления, поэтому мы можем создать контейнер (Linear,относительный, Table Layouts) дочерний элемент ScrollView и поместите все элементы управления внутри этого дочернего элемента.

Для справки: http://android -pro.blogspot.com / 2010/02 / android-scrollview.html

1 голос
/ 28 мая 2012

Ниже кода, который выполняет горизонтальную и вертикальную прокрутку, чтобы увидеть его эффект, сначала определите область вокруг 200x 200 dp и вставьте в нее этот код.

Вид будет прокручиваться горизонтально кака также вертикально.

<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbarSize="10dp"
android:scrollbars="vertical" >

<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />

            <Button
                android:layout_width="300dp"
                android:layout_height="100dp" />
        </LinearLayout>
    </LinearLayout>
</HorizontalScrollView>

1 голос
/ 01 сентября 2011

Попробуйте использовать атрибут android:orientation.Это может использоваться для горизонтального или вертикального: android:orientation="horizontal" или android:orientation="vertical".

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:scrollbarFadeDuration="1000"
      android:scrollbarSize="12dip"
      android:background="@color/red" 
      android:orientation="horizontal">

      <TableLayout android:layout_width="match_parent"  
            android:layout_marginTop="10dp" 
            android:id="@+id/tableLayout1" 
            android:layout_height="wrap_content" 
            android:stretchColumns="1" 
            android:collapseColumns="2">
      </TableLayout>
</ScrollView>
1 голос
/ 01 сентября 2011

Вложенные представления прокрутки не работают. Это связано с обработкой касания вида прокрутки: вид верхнего уровня всегда использует все события касания. Вы должны написать свой собственный вид прокрутки.

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