web-dev-qa-db-ja.com

Android-水平および垂直スクロールを許可する方法

垂直スクロールのみを許可するScrollViewと、水平スクロールのみを許可し、両方のクラスを許可しないHorizo​​ntalScrollViewがあります。これは、Android UIのかなり大きな赤字のようです。これを可能にするためのトリックはありますか?

13
farm ostrich

これを試して

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
                  Android:layout_width="fill_parent"
                  Android:layout_height="wrap_content">

    <HorizontalScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
                  Android:layout_width="wrap_content"
                  Android:layout_height="fill_parent">

         <TableLayout
                  Android:id="@+id/amortization"
                  Android:layout_width="wrap_content"
                  Android:layout_height="wrap_content">

              <TableRow
                  Android:background="#ffff00">
                  <TextView
                       Android:text="@string/amortization_1"
                       Android:padding="3dip"/>
                  <TextView
                       Android:text="@string/amortization_2"
                       Android:padding="3dip"/>
                  <TextView
                       Android:text="@string/amortization_3"
                       Android:padding="3dip"/>
                  <TextView
                       Android:text="@string/amortization_4"
                       Android:padding="3dip"/>
                  <TextView
                       Android:text="@string/amortization_5"
                       Android:padding="3dip"/>
                  <TextView
                       Android:text="@string/amortization_6"
                       Android:padding="3dip"/>
                  <TextView
                       Android:text="@string/amortization_7"
                       Android:padding="3dip"/> 
              </TableRow>
         </TableLayout>
    </HorizontalScrollView>
</ScrollView>
28
Bipin Vayalu

ImageViewの例:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView Android:id="@+id/ScrollView02" 
            Android:layout_width="wrap_content" 
            Android:layout_height="wrap_content"
            xmlns:Android="http://schemas.Android.com/apk/res/Android">
<HorizontalScrollView Android:id="@+id/HorizontalScrollView01" 
                      Android:layout_width="wrap_content" 
                      Android:layout_height="wrap_content">
<ImageView Android:id="@+id/ImageView01"
           Android:src="@drawable/pic" 
           Android:isScrollContainer="true" 
           Android:layout_height="fill_parent" 
           Android:layout_width="fill_parent" 
           Android:adjustViewBounds="true">
</ImageView>
</HorizontalScrollView>
</ScrollView>

出典: http://www.Android-spa.com/viewtopic.php?t=3959&highlight=scrollview+vertical+horizo​​ntal

2
Vicente Plata

fillViewportを設定することが重要であることがわかりました。そうしないと、スクロールバーがスクロール領域の右/下ではなくランダムな位置に表示される可能性があるためです。

<ScrollView
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:fillViewport="true" >
    <HorizontalScrollView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:fillViewport="true" >
    </HorizontalScrollView>
</ScrollView>
1
vsp