我試圖動態地添加創建了幾個RelativeLayouts到LinearLayout中這是一個RelativeLayout的,這是一個滾動型內內。當所有視圖的總高度超過手機屏幕的大小時,所有視圖都會正確顯示。但是,當動態添加視圖的總大小不足以填充屏幕時,只會顯示第一個RelativeLayout元素,其他元素不會顯示在屏幕中。我真的無望,不明白爲什麼。動態添加視圖的RelativeLayout內滾動型
這裏是動態填充線性佈局內享有代碼:
LinearLayout commentsLayout = (LinearLayout) findViewById(R.id.comments_layout);
LayoutInflater inflater = (LayoutInflater)
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for(Comment c: commentsList) {
RelativeLayout layoutItem = (RelativeLayout) inflater.inflate(
R.layout.list_item_comment, null, false);
TextView tv = (TextView) layoutItem.findViewById(R.id.textView);
ImageView iv = (ImageView) layoutItem.findViewById(R.id.imageView);
// set tv's text
// set iv's image and onclicklistener, nothing fancy here, everything goes well
commentsLayout.addView(layoutItem);
}
這裏是list_item_comment.xml:
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white"
>
<ImageView
android:id="@+id/imageView"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_alignParentLeft="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
/>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
android:textSize="16sp"
android:layout_toRightOf="@id/imageView"
/>
</RelativeLayout>
這裏是此活動的xml文件:
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/main_layout"
>
...
<ScrollView
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:id="@+id/scrollView"
>
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/relativeContainer"
>
...
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/comments_layout"
/>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
而且截圖:
如果沒有足夠的佈局:(不正確的,需要表現出3條評論)
有了足夠的佈局:(正確的,畫面充滿)
我只需要在第一種情況下顯示全部三條評論:/提前致謝。
爲什麼不使用一個ListView與頁眉和頁腳? – 2012-04-04 17:05:59
其實平時我有很多看起來像一個列表中的那些上面的其他觀點:幾個imageviews,按鈕等。所以這不是一個常見的情況,但我需要解決這個情況也是如此,因爲我不能依賴於一個事實,即每此活動中的其他視圖將被初始化。有什麼想法嗎? – ecem 2012-04-29 15:33:55