在使用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失效的解决办法相关推荐

  1. Android的listview滚动时背景不让变黑解决办法

    在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android: ...

  2. Android Studio中虚拟机显示比例不正确(已解决)

    Android Studio中虚拟机显示比例不正确(已解决) 最近因为要写课设下载了Android Studio,因为第一次使用这个软件,下载完成之后初次使用出现了很多问题,比如我建立一个项目下载好虚 ...

  3. Android环境配置及adb不是内部命令的解决办法

    Android环境配置及adb不是内部命令的解决办法 听语音 | 浏览:12378 | 更新:2016-03-03 15:44 | 标签:ANDROID JDK ECLIPSE 1 2 3 4 5 6 ...

  4. 5 个 Android 开发中比较常见的内存泄漏问题及解决办法

    Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再 ...

  5. qt designer启动后不显示界面问题的原因与解决办法

    qt designer启动后不显示界面问题的原因与解决办法 参考文章: (1)qt designer启动后不显示界面问题的原因与解决办法 (2)https://www.cnblogs.com/road ...

  6. ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法

     ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法 java.lang.NoClassDe ...

  7. 银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法

    描述:银行卡在ATM机器上插入后显示IC磁条芯片卡拒绝交易解决办法 步骤: 取出银行卡,将银行卡放在银行卡IC卡感应位置 ATM机主页面选择 非IC卡业务,最后会识别并可以取钱,成功 成功后将银行卡再 ...

  8. AMD机器:Android Studio启动模拟器提示“HAXM is not installed”的解决办法

    附:Android Studio启动模拟器提示"HAXM is not installed"的解决办法 1.首先,按住Ctrl+Alt+Delete,选择任务管理器,点击性能,查看 ...

  9. STC-ISP一直显示“正在检测目标单片机”的解决办法

    STC-ISP一直显示"正在检测目标单片机"的解决办法 因为是小白,初次拿到开发板,跟着网上的操作步骤用STC-ISP写烧入,但是一直显示"正在检测目标单片机" ...

  10. LYNC客户端不显示通讯组里的用户的解决办法。

    LYNC客户端不显示通讯组里的用户的解决办法 错误图如下: 解决办法:ISA代理服务器的问题,把代理服务器高级里加上lync服务器的名字就可以了. 转载于:https://blog.51cto.com ...

最新文章

  1. linux目录空间内存,Linux 目录结构:内存文件夹
  2. 方法入门_方法的调用
  3. 【Python 学习_第2周_程序代码】金角大王培训第二周练习_购物车代码,将写的代码和老师代码比较,记录下收获...
  4. Qt程序等待/睡眠的正确方法
  5. windows10升级助手_利用系统自带应用在Windows 10上实现电脑免费拨打电话
  6. 漫画丨让你专心干技术,没让你干到35岁啊…
  7. Linux 日志定时轮询流程详解
  8. 【BZOJ】2194: 快速傅立叶之二
  9. thinkpadt410接口介绍_Thinkpad-T410 T410S笔记本左右接口以及硬件设备详细介绍!
  10. 互联网 必须有免费的精神
  11. CentOS6安装rpm时报错“Cannot find a valid baseurl for repo: centos-sclo-rh“的解决办法
  12. 期末总结---为本学期画上圆满的句号
  13. SAP-MM知识精解-自动科目记账(04-2)- 业务事物之“科目分组代码”的影响
  14. Sentinel流控效果—Warm Up
  15. Mysql-binlog的查看
  16. Prolific PL2303 usb 转串口Win8 Win8.1驱动
  17. 《游戏开发基础》课程论文丨基于Unity与Bolt的抗美援朝主题3D游戏设计
  18. 【Mysql】DQL语法及其使用
  19. 为什么短暂的秦朝,如今有人推崇
  20. 从理解用户开始:故事、生态、画像、旅程

热门文章

  1. rs232转485通信在串口助手只能发送数据而接受不到数据,求大神解答
  2. 科学计算机统计说明书,科学计算机带哪些功能_科学计算机怎么用_科学计算机使用方法...
  3. python中del的用法
  4. sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set的解决方案(linux)
  5. 为什么越来越多的程序员不写注释?注释应该怎么写?
  6. 解决鼠标滚动时页面上下跳动的问题
  7. JAVA时间字符串去空格、冒号和横杠
  8. css5导弹,世界六大洲际导弹排行榜
  9. 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表
  10. openCamera的 hal 端流程