3

FrameLayoutにScrollViewがあります。ScrollViewには1つの子LinearLayoutがあります。プログラムでこのLinearLayoutにImageViewsを追加しています。scrollviewを水平方向にスクロールしたい。

<FrameLayout 
                        android:id="@+id/imgScroll"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="@drawable/avatar_block">

                        <ScrollView
                            android:id="@+id/avatarScrollView"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content" 
                            android:layout_gravity="center" 
                            android:fillViewport="true"> 

                            <LinearLayout
                                android:id="@+id/scrollLayout"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content" 
                                android:gravity="left">


                            </LinearLayout>
                        </ScrollView>

                        <RelativeLayout 
                         android:layout_width="match_parent"
                             android:layout_height="match_parent">
                                     <!-- 2 ImageViews -->
                        </RelativeLayout>
    </FrameLayout>

これが私がImageViewsを追加する方法です(現在、画像をドローアブルにハードコーディングしています)

LinearLayout inScrollLayout = (LinearLayout) findViewById(R.id.scrollLayout);
for(int i = 0; i < imgArray.length; i++)
{
    ImageView imgView = new ImageView(this);
    imgView.setImageResource(R.drawable.icon);  
    imgView.setPadding(0, 0, 40, 0);
    inScrollLayout.addView( imgView);
}

ImageViewsがレイアウトに追加されますが、最後の画像はそのサイズを縮小し、スクロールできません。

4

1 に答える 1

7

ScrollViewは水平方向にスクロールしません。Horizo​​ntalScrollViewが必要です。

于 2012-10-31T14:30:25.687 に答える