问题描述
- listview的item如何让它自适应内容的高
- 想实现listview中当一个内容多的时候,item的高度能充满屏幕,或者超过屏幕,内容少的时候,一屏可以显示多个item,如何才能让item自适应呢?
下面是我的item布局,大家帮忙看看:<?xml version=""1.0"" encoding=""utf-8""?><RelativeLayout xmlns:android=""http://schemas.android.com/apk/res/android"" android:layout_width=""match_parent"" android:layout_height=""match_parent"" android:orientation=""horizontal"" > <FrameLayout android:id=""@+id/main_item_frameLayout"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentLeft=""true"" android:layout_alignParentTop=""true"" android:layout_marginLeft=""4dp"" android:layout_marginTop=""10dp"" > <ImageView android:id=""@+id/imageHead"" android:layout_width=""@dimen/wb_head_image"" android:layout_height=""@dimen/wb_head_image"" /> <ProgressBar android:id=""@+id/main_item_progress"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:indeterminate=""false"" android:indeterminateDrawable=""@anim/loading"" android:visibility=""gone"" /> </FrameLayout> <LinearLayout android:id=""@+id/main_item_linearLayout"" android:layout_width=""match_parent"" android:layout_height=""wrap_content"" android:layout_alignParentTop=""true"" android:layout_toRightOf=""@id/main_item_frameLayout"" android:orientation=""vertical"" > <RelativeLayout android:id=""@+id/relativeLayout1"" android:layout_width=""match_parent"" android:layout_height=""wrap_content"" android:gravity=""center_vertical"" > <TextView android:id=""@+id/name"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentLeft=""true"" android:paddingLeft=""10dp"" android:paddingTop=""10dp"" android:textSize=""18sp"" /> <TextView android:id=""@+id/time"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentRight=""true"" android:paddingRight=""10dp"" android:paddingTop=""10dp"" android:textColor=""@color/yellow"" android:textSize=""15sp"" /> </RelativeLayout> <LinearLayout android:id=""@+id/main_item_content_linearLayout"" android:layout_width=""match_parent"" android:layout_height=""wrap_content"" android:orientation=""vertical"" > <TextView android:id=""@+id/content"" android:layout_width=""fill_parent"" android:layout_height=""wrap_content"" android:layout_margin=""10dp"" android:textSize=""20sp"" android:textStyle=""bold"" /> <GridView android:id=""@+id/main_item_pictures"" android:layout_width=""match_parent"" android:layout_height=""match_parent"" android:numColumns=""3"" android:scrollbars=""none"" > </GridView> </LinearLayout> <RelativeLayout android:id=""@+id/relativeLayout2"" android:layout_width=""match_parent"" android:layout_height=""wrap_content"" android:layout_marginTop=""10dp"" > <TextView android:id=""@+id/comment"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentBottom=""true"" android:layout_alignParentRight=""true"" android:paddingBottom=""10dp"" android:paddingRight=""10dp"" android:textSize=""12sp"" /> <ImageView android:id=""@+id/imageView4"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentBottom=""true"" android:layout_toLeftOf=""@id/comment"" android:paddingBottom=""10dp"" android:src=""@drawable/weibo_comment"" /> <TextView android:id=""@+id/transmit"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentBottom=""true"" android:layout_toLeftOf=""@id/imageView4"" android:paddingBottom=""10dp"" android:paddingRight=""10dp"" android:textSize=""12sp"" /> <ImageView android:id=""@+id/imageView3"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentBottom=""true"" android:layout_toLeftOf=""@id/transmit"" android:paddingBottom=""10dp"" android:src=""@drawable/weibo_transmit"" /> <TextView android:id=""@+id/praise"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentBottom=""true"" android:layout_toLeftOf=""@id/imageView3"" android:paddingBottom=""10dp"" android:paddingRight=""10dp"" android:textSize=""12sp"" /> <ImageView android:id=""@+id/imageView5"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_alignParentBottom=""true"" android:layout_toLeftOf=""@id/praise"" android:paddingBottom=""10dp"" android:src=""@drawable/weibo_transmit"" /> </RelativeLayout> </LinearLayout></RelativeLayout>
解决方案
<?xml version=""1.0"" encoding=""utf-8""?><RelativeLayout xmlns:android=""http://schemas.android.com/apk/res/android"" android:layout_width=""match_parent"" android:layout_height=""match_parent"" android:orientation=""horizontal"" >
使用wrap_content,试试。。。
建议:在布局里面,不要设计太复杂的多种布局,防止异常;可以多重使用LinearLayout实现效果
解决方案二:
把第4行第一个RelativeLayout的android:layout_height=""match_parent""改成android:layout_height=""wrap_content""就可以了。
时间: 2025-01-29 13:41:23