android的listview分组显示的时候layout_marginTop失效的解决办法
在使用android的ListView组件做类似于通讯录这样的功能时,需要根据A、B、C这样的标题来区来分组显示通讯录中的姓名,本人在做实验过程中遇到了这样一个问题,比如,想让标题item和上边的用户名item中间有个间隙,而组(同个标题下)用户名之间不能有间隙,原本以为很简单,我认为在标题item的最外层LinearLayout中增加一个layout_marginTop属性即可,结果发现一只无效,最后请教了个高手告诉我需要在标题item的顶层LinearLayout中再嵌套一层,然后在第二层中设置这个属性才会有效,最后一试用,果然好了。
ListView分组显示的代码网上浩如烟海,这里只贴出关键的ListView的的两种item的代码如下:
标题item的layout,标红的就是嵌入的第二层:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<!-- 必须再嵌套一层LinearLayout,否则layout_marginTop失效 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#EDEDED"
android:layout_marginTop="15dip"
android:orientation="horizontal" >
<TextView
android:id="@+id/shopName"
android:layout_width="match_parent"
android:layout_height="40dip"
android:minHeight="30dip"
ndroid:gravity="center_vertical"
/>
</LinearLayout>
</LinearLayout>
姓名的item的layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:orientation="vertical" >
<TextView
android:id="@+id/goodName"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:minHeight = "30dip"
android:gravity = "center_vertical"
android:paddingLeft = "10dip"
/>
</LinearLayout>
最后的效果如图,中间粉红色的间距就是想要的效果:
原本以为Android开发很简单,就平时利用业务时间玩玩,没想到里边的细节门道很多,看来我又自以为是了,哈哈哈!
android的listview分组显示的时候layout_marginTop失效的解决办法相关推荐
- Android的listview滚动时背景不让变黑解决办法
在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android: ...
- Android Studio中虚拟机显示比例不正确(已解决)
Android Studio中虚拟机显示比例不正确(已解决) 最近因为要写课设下载了Android Studio,因为第一次使用这个软件,下载完成之后初次使用出现了很多问题,比如我建立一个项目下载好虚 ...
- Android环境配置及adb不是内部命令的解决办法
Android环境配置及adb不是内部命令的解决办法 听语音 | 浏览:12378 | 更新:2016-03-03 15:44 | 标签:ANDROID JDK ECLIPSE 1 2 3 4 5 6 ...
- 5 个 Android 开发中比较常见的内存泄漏问题及解决办法
Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再 ...
- qt designer启动后不显示界面问题的原因与解决办法
qt designer启动后不显示界面问题的原因与解决办法 参考文章: (1)qt designer启动后不显示界面问题的原因与解决办法 (2)https://www.cnblogs.com/road ...
- ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法
ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法 java.lang.NoClassDe ...
- 银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法
描述:银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法 步骤: 取出银行卡,将银行卡放在银行卡IC卡感应位置 ATM机主页面选择 非IC卡业务,最后会识别并可以取钱,成功 成功后将银行卡再 ...
- AMD机器:Android Studio启动模拟器提示“HAXM is not installed”的解决办法
附:Android Studio启动模拟器提示"HAXM is not installed"的解决办法 1.首先,按住Ctrl+Alt+Delete,选择任务管理器,点击性能,查看 ...
- STC-ISP一直显示“正在检测目标单片机”的解决办法
STC-ISP一直显示"正在检测目标单片机"的解决办法 因为是小白,初次拿到开发板,跟着网上的操作步骤用STC-ISP写烧入,但是一直显示"正在检测目标单片机" ...
- LYNC客户端不显示通讯组里的用户的解决办法。
LYNC客户端不显示通讯组里的用户的解决办法 错误图如下: 解决办法:ISA代理服务器的问题,把代理服务器高级里加上lync服务器的名字就可以了. 转载于:https://blog.51cto.com ...
最新文章
- linux目录空间内存,Linux 目录结构:内存文件夹
- 方法入门_方法的调用
- 【Python 学习_第2周_程序代码】金角大王培训第二周练习_购物车代码,将写的代码和老师代码比较,记录下收获...
- Qt程序等待/睡眠的正确方法
- windows10升级助手_利用系统自带应用在Windows 10上实现电脑免费拨打电话
- 漫画丨让你专心干技术,没让你干到35岁啊…
- Linux 日志定时轮询流程详解
- 【BZOJ】2194: 快速傅立叶之二
- thinkpadt410接口介绍_Thinkpad-T410 T410S笔记本左右接口以及硬件设备详细介绍!
- 互联网 必须有免费的精神
- CentOS6安装rpm时报错“Cannot find a valid baseurl for repo: centos-sclo-rh“的解决办法
- 期末总结---为本学期画上圆满的句号
- SAP-MM知识精解-自动科目记账(04-2)- 业务事物之“科目分组代码”的影响
- Sentinel流控效果—Warm Up
- Mysql-binlog的查看
- Prolific PL2303 usb 转串口Win8 Win8.1驱动
- 《游戏开发基础》课程论文丨基于Unity与Bolt的抗美援朝主题3D游戏设计
- 【Mysql】DQL语法及其使用
- 为什么短暂的秦朝,如今有人推崇
- 从理解用户开始:故事、生态、画像、旅程
热门文章
- rs232转485通信在串口助手只能发送数据而接受不到数据,求大神解答
- 科学计算机统计说明书,科学计算机带哪些功能_科学计算机怎么用_科学计算机使用方法...
- python中del的用法
- sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set的解决方案(linux)
- 为什么越来越多的程序员不写注释?注释应该怎么写?
- 解决鼠标滚动时页面上下跳动的问题
- JAVA时间字符串去空格、冒号和横杠
- css5导弹,世界六大洲际导弹排行榜
- 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表
- openCamera的 hal 端流程