Android: RelativeLayout作為ListView時的佈局BUG
阿新 • • 發佈:2019-01-22
當一個ListView的item為一個RelativeLayout時,該ViewGroup下的子view如果配置為 android:layout_alignParentBottom="true",本來是讓子view靠近RelativeLayout的底部,但實際執行結果卻是靠到頂部。
[img]http://dl.iteye.com/upload/attachment/378692/2a9b5fde-c750-35a1-843b-7add64bdc39f.jpg[/img]
據說這是個BUG,關於這個BUG的進一步描述可以在這裡看到:[url=http://code.google.com/p/android/issues/detail?id=1394]Issue 1394[/url]
在[url=http://kevinlynx.iteye.com/blog/855282]昨天關於QuickContactBadge嵌入ListView item的例子[/url]中,就可以發現這個問題。上面那個網頁也有人給出瞭解決方案。
[color=red]
即:
1、指定RelativeLayout的具體高度,例如:[/color]
[code]
android:layout_height="?android:attr/listPreferredItemHeight"
[/code]
[color=red]
2、ListView中例項化layout時,使用如下程式碼:[/color]
[code]
convertView = mInflater.inflate(mResource, parent, false);
[/code]
基於以上,即可讓android:layout_alignParentBottom="true"表現正確。
[img]http://dl.iteye.com/upload/attachment/378694/470edf6b-5c8a-33f1-85ec-ec9c410089e4.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/378692/2a9b5fde-c750-35a1-843b-7add64bdc39f.jpg[/img]
據說這是個BUG,關於這個BUG的進一步描述可以在這裡看到:[url=http://code.google.com/p/android/issues/detail?id=1394]Issue 1394[/url]
在[url=http://kevinlynx.iteye.com/blog/855282]昨天關於QuickContactBadge嵌入ListView item的例子[/url]中,就可以發現這個問題。上面那個網頁也有人給出瞭解決方案。
[color=red]
即:
1、指定RelativeLayout的具體高度,例如:[/color]
[code]
android:layout_height="?android:attr/listPreferredItemHeight"
[/code]
[color=red]
2、ListView中例項化layout時,使用如下程式碼:[/color]
[code]
convertView = mInflater.inflate(mResource, parent, false);
[/code]
基於以上,即可讓android:layout_alignParentBottom="true"表現正確。
[img]http://dl.iteye.com/upload/attachment/378694/470edf6b-5c8a-33f1-85ec-ec9c410089e4.jpg[/img]