ListView荧光笔不适用于某些png

时间:2014-03-26 12:30:25

标签: android listview

我有一个顶部(和底部)元素的布局,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <ImageView
        android:id="@+id/topbgprayer"
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/prayer_top" />
    <ImageView
        android:id="@+id/topleftpatchprayer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/topbgprayer"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_alignRight="@+id/leftbgprayer"
        android:src="@drawable/prayer_top_left_patch" />
    <ImageView
        android:id="@+id/toprightpatchprayer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/prayer_top_right_patch" />
    <ImageView
        android:id="@+id/ivImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="10dp"
        android:src="@drawable/play_fill_free_download" />
    <ImageView 
                android:id="@+id/spare_play"
        android:layout_width="1dp"
        android:layout_height="wrap_content"
                android:src="@drawable/spare_play" />

    <TextView
        android:id="@+id/tvDescr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/ivImage"
        android:lineSpacingMultiplier="1.05"

        android:layout_marginRight="30sp"
        android:text="Молитвы Утренние"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/tvBottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:gravity="center_horizontal"
        android:paddingBottom="6dp"

        android:layout_toLeftOf="@+id/tvDescr"
        android:text="12 МБ"
        android:textSize="10sp"
        android:typeface="sans" />
</RelativeLayout>

所以,主要思想是在顶部元素上面有一个平铺图像,两个贴片可以平滑角落。 出于某种原因,ListView上的荧光笔不会突出显示该图像,而是突出显示其他图像。如果我尝试删除一些theese图像 - 它会突出显示删除它们的区域。我该如何解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:2)

默认情况下,高亮显示在列表项视图后面,因此您可以在文本后面和三角形图像后面看到(可能是因为三角形图像在三角形周围是透明的),另一个图像是不透明的,因此它隐藏了高光。

你应该做的是制作一个半透明的荧光笔并将其绘制在视图的顶部。查看此问题,了解如何在顶部绘制:How to highlight ListView item on touch?

或者你可以完全禁用高亮显示,并在所有列表项的顶部添加隐藏视图,并使用onTouchListener()仅在有ACTION_DOWN时显示它并在有ACTION_UP时再次隐藏它。