关于ListView的Item的一些定制化需求

一些流行的应用的ListView的Item类似下图:

ListView的Divider没有覆盖到图片

可以这种来实现,先定义ListView在Layout中:

 <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@null"
        android:layout_below="@id/title"
        android:id="@+id/mylist"
        android:fadeScrollbars="false"
        android:dividerHeight="0dp"
        <span style="color:#6600cc;">android:divider="@null"   //隐藏掉原来的divider</span>
        android:cacheColorHint="@color/bgColorMain"
      >
    </ListView>

然后定义ListView的item的layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="56dp"
    <span style="color:#3333ff;">android:minHeight="56dp"</span>
    >

    <ImageView
        android:id="@+id/image_icon"
        android:layout_width="@dimen/favorites_item_picture_width"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="6dp"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="6dp"
        android:scaleType="fitCenter"
        android:layout_centerVertical="true"
        android:src="@drawable/text_icon" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginLeft="@dimen/messages_list_view_text_margin_left"
        android:layout_toRightOf="@+id/image_icon"
       <span style="color:#6600cc;"> android:background="@drawable/bg_list_item_divider"   //关键是这句,画线全靠它了</span>
         >

        <TextView
            android:id="@+id/type"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/name"
            android:layout_alignParentRight="true"
            android:layout_marginTop="15dp"
            android:layout_marginRight="15dp"
            android:ellipsize="marquee"
            android:gravity="center_vertical|right"
            android:singleLine="true"
            android:textColor="#000000"
            android:textSize="@dimen/font_size_small" />

        <TextView
            android:id="@+id/name"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerVertical="true"
            android:layout_marginRight="15dp"
            android:layout_toLeftOf="@id/type"
            android:layout_marginTop="15dp"
            android:layout_marginBottom="15dp"
            android:ellipsize="marquee"
            android:gravity="center_vertical|left"
            android:singleLine="true"
            android:textColor="#000000"
            android:textSize="@dimen/font_size_medium" />
    </RelativeLayout>

</RelativeLayout>

关于bg_list_item_divider

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
         <span style="color:#6600cc;">android:left="-10dp"  //这个意思是rectangle距离左边的距离,等于负数会隐藏掉左边的线
        android:right="-10dp"
        android:top="-10dp"</span>
        >
        <shape android:shape="rectangle" >
            <solid android:color="@android:color/transparent" />  //这个rectangle中间填充透明的颜色

            <stroke
                android:width="1dp"
                android:color="@color/list_items_divider" /> //这个就是底部那根线
        </shape>
    </item>

</layer-list>

代码可以在http://download.csdn.net/detail/baidu_nod/7603629下载

关于ListView的Item的一些定制化需求

时间: 2024-07-28 14:05:12

关于ListView的Item的一些定制化需求的相关文章

定制化Azure站点Java运行环境(3)

定制化Azure Website提供的默认的Tomcat和JDK环境 在我们之前的测试中,如果你访问你的WEB站点URL时不加任何上下文,实际上你看到的web界面是系统自带的测试页面index.jsp,位于/site/wwwroot/webapps/ROOT目录下,是Tomcat默认的根目录. 由于要检测JVM的usage信息以便确定,定制化修改的Java参数是否生效,所以我们需要写一些测试代码,打印出当前JVM的参数信息;首先使用FileZilla连接到你的网站,进入到/site/wwwroo

InfoPath与SharePoint之(二) 用InfoPath定制化SharePoint List

SharePoint自带的新建和编辑条目页面,只是把所有的属性一字列开,并且想修改起来很困难.这个时候,可以使用InfoPath来定制化条目的页面,这样就很简单了. 打开想要修改的List,点击ribbon上的Customize Form.当然前提是你的机器上已经安装了InfoPath Designer了: 首先IE会弹出提示,要不要打开InfoPath Designer,点允许: 然后Office也会弹出提示,问是否打开SharePoint List,点Yes: 这样InfoPath就打开了.

AI应用开发实战 - 定制化视觉服务的使用

AI应用开发实战 - 定制化视觉服务的使用 零.定制化视觉服务简介 有的时候,在构建应用的过程中,在缺少强大计算资源与高性能算法的情况下,我们不一定需要自己从零开始训练模型.我们需要用的一些轮子,已经有人给我们造好了. 就比如: 微软提供的定制化视觉服务. 在机器学习应用中,任何情况下都需要一个或大或小的模型.而怎么得到这个模型是其中最复杂的部分.定制化视觉服务相当于在云端提供了一个生成模型的方法,把模型相关的复杂的算法都简化了.同时,它不仅能够让用户自己管理训练数据,定义自己的分类问题,而且支

OA系统信用盘新增三个极速彩版本定制化视觉服务的使用

AI应用开发实战 - 定制化视觉服务的使用 OA系统信用盘新增三个极速彩版    下载地址  QQ2952777280 OA系统信用盘新增三个极速彩版本程序源码参数说明: 运行环境:php5.2+mysql 源码类别:时时彩(彩票)现金网系统/两面盘 界面语言:繁体中文 源码授权:无加密文件及认证授权,永久性可直接使用. 版本支持:PC/WAP网页版 编程语言:PHP 零.定制化视觉服务简介 有的时候,在构建应用的过程中,在缺少强大计算资源与高性能算法的情况下,我们不一定需要自己从零开始训练模型

6.设置ListView的Item的高度无效

问题: 设置ListView的Item的高度无效. 解决方式: 设置ListView的Item的minHeight属性.

使用beanstalkd实现定制化持续集成过程中pipeline - 持续集成系列

持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中,最核心的一点就是,如何实现一个可定制化的任务流,即所谓的pipeline. 在传统的持续集成工具实现了pipeline功能,以供串联上下游job,并把多个job联系成一次完整的构建,例如jenkins的pipeline插件. 但是各种持续集成工具,或多或少都有自己的短板,总结起来如下: 1.配置并不

定制化Azure站点Java运行环境(1)

Azure website提供了为现代化的web应用程序快速部署的PAAS平台,可以让用户几分钟之内快速的将自己的应用部署到云端,并且提供了自动扩展(auto-scaling),SSL,多种语言(Java,Python,PHP, Node.JS, .Net) 等的支持,并且可以和其他Azure服务无缝整合等特性,赢得了很多用户的青睐. 作为PAAS平台,Azure website的app运行环境,OS等底层设施都由微软进行管理,用户只需要关心自己的App和Data即可,但在一些情况下,用户希望能

大数据平台一键安装OS【定制化OS镜像制作】

 定制化 大数据平台一键安装OS 大数据平台一键安装OS系列 大数据平台一键安装OS[搭建脚本篇] 定制化OS镜像制作 1.操作环境 操作环境:VMware Workstarion 9 and vSphere client 系统:CentOS -6.8-x86_64 工具:gconf-editor anaconda repodata createrepo mkisofs rsync 2.主要思路 定制化是通过kickstart脚本来实现的,linux系统安装完毕后在root目录下会生成anaco

Android自定义ListView的Item无法响应OnItemClick的解决办法

转: 如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了 我们可以通过对Item Layout的根控件设置其Android:descendantFocusability=”bl