5

カスタム ビューを水平スクロール ビューに追加しようとすると、表示されません。ただし、相対レイアウトや線形レイアウトなどの他のレイアウトでも同じカスタム ビューが表示されます。

 layout=new LinearLayout(this);
        layout.setBackgroundColor(Color.YELLOW);
        layout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.MATCH_PARENT));
        layout.setOrientation(LinearLayout.HORIZONTAL);

        l = new PredicateLayout(this);
//       l.sendtext(info);
         for(int j=0;j<info.length;j++)
         {

            LinearLayout aa=new LinearLayout(this);
            aa.setOrientation(LinearLayout.VERTICAL);
            t = new TextView(this);
                t.setText(info[j]);
                t.setBackgroundColor(Color.GREEN);
                t.setTextSize(i);
                t.setWidth(screenwidth/2);
                aa.addView(t);
                l.addView(aa, new PredicateLayout.LayoutParams(0, 0));

         }

         layout.addView(l);
        scroll.addView(layout);

私のXMLは次のようになります

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/scroll"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:orientation="horizontal" 
    >

</HorizontalScrollView>

このようにも試しました

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/scroll"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:orientation="horizontal" 
    >

    <com.test.app.PredicateLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:id="@+id/predicate_layout"
        >

    </com.omnion.bible.PredicateLayout> 
</HorizontalScrollView>

コードは次のようになります

test=(PredicateLayout)findViewById(R.id.predicate_layout);

 for(int j=0;j<info.length;j++)
         {

            LinearLayout aa=new LinearLayout(this);
            aa.setOrientation(LinearLayout.VERTICAL);
            t = new TextView(this);
                t.setText(info[j]);
                t.setBackgroundColor(Color.GREEN);
                t.setTextSize(i);
                t.setWidth(screenwidth/2);
                aa.addView(t);
                test.addView(aa, new PredicateLayout.LayoutParams(0, 0));

         }

誰でも私を助けることができますか?前もって感謝します。

4

1 に答える 1