listview的item如何让它自适应内容的高

问题描述

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

listview的item如何让它自适应内容的高的相关文章

Android开发之ListView实现Item局部刷新_Android

对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView.在这种模式下,我们会在getView中,根据不同的数据源,让控件显示不同的内容.这种模式是最常见的刷新模式,当我们来回滑动ListView的时候,调用adapter的getView方法,然后listview对adapter返回的View进行绘制.这种模式下,View的显示内容或状态都记录在adapter里面

Android开发之ListView实现Item局部刷新

对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView.在这种模式下,我们会在getView中,根据不同的数据源,让控件显示不同的内容.这种模式是最常见的刷新模式,当我们来回滑动ListView的时候,调用adapter的getView方法,然后listview对adapter返回的View进行绘制.这种模式下,View的显示内容或状态都记录在adapter里面

listview-有关Listview中item内容问题?

问题描述 有关Listview中item内容问题? 我的listview有100个条目,每个条目有2个textview,第一个textview有100个数据选择,第二个只有6个选择,请问怎么把第二组数据循环添加到Listview中?

qml如何让listview中的item变为可编辑状态,就是双击点中就可以在item中写入新的内容。

问题描述 qml如何让listview中的item变为可编辑状态,就是双击点中就可以在item中写入新的内容. deletegate代码如下: Component { id: template_Delegate Item { id: template_wrapper width: parent.width height: 30 TextEdit { id: template_input text: name width: parent.width height: 30 readOnly: tru

android点击消除当前item界面,然后在另一个listView的item中显示

问题描述 android点击消除当前item界面,然后在另一个listView的item中显示 android 中点击listview的Item中按钮后在当前listview中消除,并且传到另外一个listview中显示出来 解决方案 把item对应的data内容移除,另一个listview中加入对应数据. 两个listview都notifyDataSetChanged刷新 解决方案二: http://www.tuicool.com/articles/226rem 解决方案三: 这个应该好实现吧

WPF自定义控件与样式(13)-自定义窗体Window &amp; 自适应内容大小消息框MessageBox

原文:WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox 一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 自定义Window窗体样式: 基于自定义窗体实现自定义MessageBox消息提示框: 二.自定义Window窗体样式 自定义的Window窗体效果:   因为WPF默认的窗体比较简陋,大都需要自己

adapter-android ListView的Item单击响应返回问题

问题描述 android ListView的Item单击响应返回问题 有一个class A,下面有变量title,info和ID,但我放到ListView中显示的只有前两者,ID不显示.那么如何在点击Item的时候获得ID?这个ID也可以是其他的内容,我是希望用来标识各个内容,如果只用行号怕会错乱 解决方案 1.点击的时候通过位置获取A的对象 A a = (A)listView.getItemAtPosition(postion);2.从A的对象中取出id这个字段即可 int id = a.id

Android ListView的item中嵌套ScrollView的解决办法_Android

 前沿:有时候,listview 的item要显示的字段比较多,考虑到显示问题,item外面不得不嵌套ScrollView来实现,于是问题来了,当listview需要做点击事件时,由于ScrollView的嵌套使用,拦截了listvew点击事件:只好重写listview来实现了. /** * * @author 作者:易皇星 * * @da2016年10月24日 时间: * * @toTODO 类描述: 解决 ListView中嵌套ScrollView,ScrollView拦截ListView的

Android实现带有边框的ListView和item的方法_Android

本文实例讲述了Android实现带有边框的ListView和item的方法.分享给大家供大家参考,具体如下: 想为ListView和item四周添加边框有两种方法: 1.贴一张带有边框效果的背景图 2.自定义Draw的方法 第一种方法较第二种方法更耗系统资源,但是用法简单,只需要一张图设置为相应控件的背景即可,而第二种灵活性好些. 这次是实现带有边框的ListView和item,为此写个简单Demo 学习学习 先看下Demo运行效果吧 下面是主要代码,主要是用到Canvas.drawLine(.