`

Android ListView 去除边缘阴影、选中色、拖动背景色等(转)

 
阅读更多

去除ListView滑到顶部和底部时边缘的黑色阴影:

 

android:fadingEdge="none"  

 

 

 

去除拖动时默认的黑色背景:

 

android:cacheColorHint="#00000000" 

 

 

 

去除选中时的黄色底色:

 

android:listSelector="#00000000"  

 

 

 

去除行与行之间的黑线:

 

msgList.setDivider(null);  

 

 

 

ListView刷新后自动滚到最底部:

 

msgList.setSelection(msgList.getAdapter().getCount()-1); 

 

 

以上,自然也可以进行自定义颜色处理。

 

 

让点击后的item背景变色,可以如下listview设置:

 

android:listSelector="@drawable/selector_msg_list"

 

 

selector_msg_list.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/white" android:state_pressed="false"/>
    <item android:drawable="@color/message_item_press_bg" android:state_pressed="true"/>
</selector>

 

这里的颜色放在colors.xml文件里:

<?xml version="1.0" encoding="UTF-8"?>
<resources>


    <color name="transparent">#00000000</color>
    <color name="touming">#00000000</color>
    <color name="baiduShangHuTextColor">#a3a7af</color>
    <color name="baiduShangHuTextPromptColor">#C5C7CB</color>
    <color name="backgound">#DEDEDE</color>
    <color name="black">#000000</color>
    <color name="white">#FFFFFF</color>
    <color name="gray">#F4F4F4</color>
    <color name="orange">#F48108</color>
    <color name="light_black">#4F4F4F</color>
    <color name="blue">#0089E0</color>
    <color name="red">#ffff0000</color>
    <color name="stroke_gray">#dfdfdf</color>
	<color name="green">#B4E087</color>
    
	<color name="title_bar">#01a9ce</color>
    <color name="class_news_word">#8a8a8a</color>
    <color name="class_photo_bg">#E8E8E8</color>
    <color name="login_input_focus_bg">#2EA0BA</color>
    
    <color name="message_item_press_bg">#d6d6d6</color>
    <color name="space_item_bg">#F3F3F3</color>
	
</resources>

 

 

 

 一般的做法是将listview的分隔线去掉,再item加上底线:

<LinearLayout
	    android:id="@+id/msg_line" 
	    android:orientation="vertical"
	   	android:layout_width="fill_parent"
	    android:layout_height="1dp"
	    android:layout_marginLeft="13dp"
	    android:layout_marginTop="13dp"
	    android:background="#d6d6d6"
	    />

 

 完整的如下:

 

list

<ListView
            android:id="@+id/msg_list"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="#ffffff"
            android:divider="#00000000"
            android:dividerHeight="0dp"
            android:fadingEdge="none"
            android:listSelector="@drawable/selector_msg_list"
            android:fastScrollEnabled="true"
            android:footerDividersEnabled="false"
            android:headerDividersEnabled="false" />

 

 

item:

 

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="15dp"
    android:paddingBottom="0dp"
    android:paddingLeft="5dp"
    >
    
	<RelativeLayout
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:layout_marginBottom="15dp"
	    android:paddingRight="10dp"
	    >
	    <TextView 
	    android:id="@+id/msg_title"
	    android:layout_width="wrap_content"
	    android:layout_marginLeft="13dp"
	    android:layout_height="wrap_content"
	    android:layout_alignParentLeft="true"
	    android:layout_centerVertical="true"
	    android:text="语文"
	    android:paddingLeft="8dp"
	    android:paddingRight="8dp"
	    android:paddingTop="4dp"
	    android:paddingBottom="4dp"
	    android:textSize="15sp"
	    android:textColor="#818181"
	    android:background="@drawable/text_shape"/>
	    
	    <TextView 
	    android:id="@+id/msg_time"    
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_marginRight="25dp"
	    android:layout_centerVertical="true"
	    android:text="14-1-2"
	  	android:textSize="15sp"
	    android:textColor="#818181"
	    android:layout_alignParentRight="true"/>
	    
	    <ImageView 
	   	android:layout_width="15dp"
	    android:layout_height="15dp"
	    android:src="@drawable/arrow"
	    android:layout_alignParentRight="true"
	    android:layout_centerVertical="true"/>   
	</RelativeLayout>
	
	<LinearLayout
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content"
	    android:paddingRight="10dp"
	    android:orientation="horizontal"
	    >
	    <ImageView
	    android:id="@+id/red_dot" 
	   	android:layout_width="8dp"
	    android:layout_height="8dp"
	    android:layout_marginTop="5dp"
	    android:layout_marginRight="5dp"
	    android:src="@drawable/red"
	    />
	    
	    <TextView 
	    android:id="@+id/msg_content"
	    android:layout_weight="1"
	    android:layout_width="0dp"
	    android:layout_height="wrap_content"	    
	    android:text="北大附小三年级的学生参观了国家图书馆,学些了很多历史知识。"
	    android:minLines="2"
	    android:maxLines="2"
	    android:ellipsize="end"
	    android:lineSpacingMultiplier="1.2"
	    android:textSize="15sp"
	    android:textColor="@color/black"/> 
	</LinearLayout>
	
	<LinearLayout
	    android:id="@+id/msg_line" 
	    android:orientation="vertical"
	   	android:layout_width="fill_parent"
	    android:layout_height="1dp"
	    android:layout_marginLeft="13dp"
	    android:layout_marginTop="13dp"
	    android:background="#d6d6d6"
	    /> 
	
</LinearLayout>

 

 

 

 

 效果如下:

 

 

  • 大小: 131.5 KB
分享到:
评论

相关推荐

    ListView 去除边缘阴影、选中色、拖动背景色等

    ### ListView去除边缘阴影 在Android开发中,ListView是一种常见的组件,用于展示列表数据。当ListView滚动至顶部或底部时,默认情况下会出现一个边缘阴影效果。这种阴影对于某些UI设计来说是不必要的,因此开发者...

    Android ListView错位问题之背景色错位

    然而,开发者经常会遇到一个头疼的问题,那就是“ListView的背景色错位”。这个问题通常表现为列表项的背景颜色与其实际位置不符,导致视觉效果混乱。本文将深入探讨这个问题的成因及解决方案。 一、背景色错位的...

    android listview 拖拽效果

    "android listview 拖拽效果"是指在ListView上实现的一项高级功能,允许用户通过手势拖动ListView中的每个条目(item)来改变它们的位置,提供了一种直观且交互性强的用户体验。在本篇文章中,我们将深入探讨如何...

    android 动态改变listview某一条的背景颜色

    我们常见的androidlistview 都是整体改变背景颜色,我今天上传的是 动态改变listview 其中一条或者多条的背景颜色,以及改变item的颜色。 不需要添加list的点击事件 就可以完成。

    Android ListVIew 拖动Item 删除

    本篇将详细介绍如何在Android中实现在ListView中拖动并删除Item。 首先,我们需要创建一个自定义的ListView,这个ListView需要能够识别用户的触摸事件,并处理拖动操作。在Android中,我们可以通过重写onTouchEvent...

    android listview item背景色点击效果实例

    本实例“android listview item背景色点击效果”正是针对这一需求进行的开发。 在Android中,ListView的每个项(item)都是一个View或ViewGroup,通常我们通过自定义布局文件来设计每个item的显示样式。为了实现...

    WPF ListView 选择和鼠标移上去行背景颜色的去除与更改

    默认情况下,当用户选择一个项目或鼠标悬浮在某一行上时,系统会自动设置背景色。然而,这些默认样式可能并不符合所有设计需求,因此我们需要自定义控件模板。 去除ListView的背景颜色,可以通过修改...

    android listview item 拖动排序

    在这个主题中,我们将深入探讨如何在Android中实现ListView的拖动排序功能,以及`DragSortListView`库的使用方法。 `DragSortListView`是一个开源的Android库,它扩展了原生的ListView,增加了拖放排序的能力。这个...

    Android Listview Item上下拖动位置

    Android Listview Item上下拖动位置

    android的listview嵌套listview,列表嵌套列表 android studio版本

    在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。当需求涉及列表中的每个条目本身也需要展示一个子列表时,我们就会遇到ListView的嵌套问题。本教程将详细讲解如何在Android Studio环境下...

    Android ListView边框圆角美化

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...

    Android listview自动换行

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的高效性和可滚动性使得它在显示数据集合时十分有用。然而,当ListView的子项(item)宽度超过屏幕宽度时,如何实现自动换行就成了一个...

    android listView图片异步加载(拖动时不加载,双缓存)

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。然而,当这个列表包含图片时,如果直接在主线程中加载,会导致UI卡顿,用户体验下降。因此,我们需要采用异步加载图片的方式,同时为了优化性能...

    android ListView 网格布局

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的网格布局模式使得数据以多列的形式展示,增强了界面的可读性和用户体验。本文将深入探讨如何在Android中实现一个基于ArrayAdapter的网格...

    android listview 固定表头,固定前几列

    在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。然而,当列表项过多时,滚动时表头(Header)会随着滚动消失,给用户查看和理解数据带来不便。为了解决这个问题,开发者通常会实现一个固定...

    Android ListView 可拖拽Item 1 - 创建浮动Item

    本篇将详细介绍如何在Android中创建一个可拖拽Item的ListView,具体步骤如下: 首先,我们需要了解基本的ListView工作原理。ListView通过Adapter来绑定数据源,并通过ViewHolder优化视图复用,提高性能。在创建可...

    Android ListView 下拉刷新、上拉加载

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。`下拉刷新`和`上拉加载`功能的实现,极大地提升了用户体验,让用户能够实时获取到最新的数据。本篇文章将深入探讨如何在ListView中实现这两种...

    android ListView和GridView拖拽移位实现代码

    如果达到,改变当前选中item的背景色,表示进入拖动状态。 3. **数据交换**:当用户松开手指时(ACTION_UP或ACTION_CANCEL事件),计算出目标位置,并进行数据交换。例如,如果你有一个ArrayList存储数据,可以使用...

    android ListView实现树形结构

    在Android开发中,ListView是一种常用的UI控件,用于展示大量数据列表。然而,要实现一个树形结构,即节点有层级关系的数据展示,就需要进行一些定制化的工作。本篇文章将详细探讨如何在不继承`ListActivity`而是...

    Android listview和viewpager解决冲突 滑动冲突

    Android listview viewpager 滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 blog 地址 : http://blog.csdn.net/aaawqqq/article/details/43824631

Global site tag (gtag.js) - Google Analytics