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

2

像这样放置您的自定义布局

<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" 
    >
<LinearLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent">
    <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> 
</LinearLayout>
</HorizontalScrollView>
于 2013-09-24T06:40:37.660 回答