当前位置: 代码迷 >> Android >> Android ListView 去掉边缘阴影、选中色、拖动背景色等(转)
  详细解决方案

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

热度:5   发布时间:2016-04-28 06:31:03.0
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>

?

?

?

?

?效果如下:

?

?

  相关解决方案