我有一个listview,它是多选的。每当我选择一个项目时,它必须突出显示..但是我希望它是一个荧光笔效果,而不是整个行着色
主要活动布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.peace.webelieve.Niv">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView2"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_above="@+id/seekBar2"
android:choiceMode="multipleChoice"
android:listSelector="@android:color/transparent"/>
<SeekBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/seekBar2"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/listView2"
android:layout_alignEnd="@+id/listView2" />
自定义列表布局
<?xml version="1.0" encoding="utf-8"?>
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/item_version"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textStyle="bold"
android:textIsSelectable="false"
android:typeface="serif"
android:background="@drawable/list_row"
android:paddingStart="20dp" />
答案 0 :(得分:0)
首先,您需要为自己创建一个自定义行ListView
(您的行将包含TextView
和...)。
然后,您应该为自定义行设置背景,当您按下时,它将阻止您的行高亮
最后,在按下textview状态时,为TextView
的背景添加选择器 - &gt;更改textview背景
列表视图
<ListView
...
android:listSelector="@android:color/transparent" // add this line for disable ListView hightlight when press
/>
您的自定义行布局
<LinerLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:background = "#f00" // set background for your custom cell for preventing row change color when it selected>
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:background = "@drawable/textview_selection" // add selector for the background of your textview />
</LinearLayout>
然后在drawable文件夹中创建textview_selection
布局
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/selected_background" />
</selector>
并创建xml文件selected_background
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#0000ff" />
</shape>
希望这个帮助