6

私は相対的なレイアウトを持っていて、xmlに配置されている水平スクロールビューにプログラムでイメージビューを追加しています。アウト

  RelativeLayout.LayoutParams HParams = new RelativeLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        HParams.topMargin = 200 * displayHeight / 480;
        HsrollView.setLayoutParams(HParams);

         for (int i = 0; i < 4; i++) { 
             ImageView btnTag = new ImageView(this);
             btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
             btnTag.setImageResource(R.drawable.book);
             btnTag.setTag(i);
             btnTag.setId(i);
             HsrollView.addView(btnTag);
         }

XML ファイル

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/directbg"
    tools:context=".DirectorActivity" >
    <HorizontalScrollView
        android:id="@+id/Hscrollview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:scrollbars="none">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
        </LinearLayout>
    </HorizontalScrollView>
    </RelativeLayout>
4

3 に答える 3

7

つまり、imageview を linearlayout に追加する必要があります。画像ビューを追加するときは、2つの子要素をHorizo​​ntalScrollViewに追加することで、HorizontalScrollviewそこにある画像ビューに追加しますがLinearLayout、これはできません

于 2013-06-05T14:55:57.717 に答える
3

ボタンを にLinearLayout直接追加するのではなく、 に追加する必要がありますHorizontalScrollView。エラーが示すように、 aHorizontalScrollViewは子を 1 つしか持つことができません。

これを行う最善の方法はLinearLayout、ID を指定LinearLayoutし、コード内で の代わりに を参照することHorizontalScrollViewです。

于 2013-06-05T14:55:25.167 に答える
1

エラーは、必要なすべてを示しています。は子を 1 つだけ持つScrollViewことができ、レイアウト xml には既に が含まLinearLayoutれているため、 の代わりに にScrollView画像を追加するだけで済みます。LinearLayoutScrollView

于 2013-06-05T14:55:15.917 に答える