2014-03-26 18 views
1

我已经为顶(底)元素的布局看起来像这样:ListView的荧光笔不工作对某些PNG的

<?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上的荧光笔不会突出显示该图像,而是突出显示其他图像。如果我试图删除这些图像中的一部分 - 它会突出显示它们被删除的区域。我该如何解决这个问题?

enter image description here

+0

它看起来像被点击的时候突出显示的内容并不能填充它应该达到的完整高度。你能否检查一下改变某些物品的高度是否会改变行为?大概是TextView。 –

回答

2

默认的亮点绘制列表项视图的背后,所以你看到后面的文本和三角形图像(可能是因为三角形图像是围成的三角形透明)的后面,其他图像不透明,所以它隐藏了亮点。

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

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