2013-09-21 6 views
0

У меня есть ListView, где каждая строка выглядит следующим образом:Android ImageView глюк при прокрутке в ListView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/horizontal_row_deal"> 


    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="#EFECE5" 
       android:layout_weight="1"> 
     <ImageView 
     android:id="@+id/thumbnail1" 
     android:layout_width="75dp" 
     android:layout_height="75dp"/> 

     <TextView 
     android:id="@+id/myImageViewText1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/thumbnail1" 
     android:layout_alignRight="@+id/thumbnail1" 
     android:layout_alignBottom="@+id/thumbnail1" 
     android:gravity="left" 
     android:textSize="10dp" 
     android:textColor="#FFFFFF" 
     android:background="#80000000"/> 
    </RelativeLayout> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="#EFECE5" 
       android:layout_weight="1"> 
     <ImageView 
     android:id="@+id/thumbnail2" 
     android:layout_width="75dp" 
     android:layout_height="75dp"/> 

     <TextView 
     android:id="@+id/myImageViewText2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/thumbnail2" 
     android:layout_alignRight="@+id/thumbnail2" 
     android:layout_alignBottom="@+id/thumbnail2" 
     android:gravity="left" 
     android:textSize="10dp" 
     android:textColor="#FFFFFF" 
     android:background="#80000000"/> 
    </RelativeLayout> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="#EFECE5" 
       android:layout_weight="1"> 
     <ImageView 
     android:id="@+id/thumbnail3" 
     android:layout_width="75dp" 
     android:layout_height="75dp"/> 

     <TextView 
     android:id="@+id/myImageViewText3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/thumbnail3" 
     android:layout_alignRight="@+id/thumbnail3" 
     android:layout_alignBottom="@+id/thumbnail3" 
     android:gravity="left" 
     android:textSize="10dp" 
     android:textColor="#FFFFFF" 
     android:background="#80000000"/> 
    </RelativeLayout> 

</LinearLayout> 

Визуально это должно выглядеть 3 изображения в ряд с TextView поверх покрытия изображения около 35 процентов. Текстовый вид несколько прозрачен с черным фоном, чтобы изображение все еще можно было видеть на спине.

Это работает по назначению, когда я не прокручиваю список. Однако, когда я просматриваю прокрутку, часть изображения просматривается поверх текстового представления, как будто он сжимается. Кто-нибудь знает, что происходит и почему это происходит?

+0

возможно маленькая полоса прокрутки справа уменьшает доступный размер внутри списка на небольшую сумму, которая беспорядочна с вашими макетами? – coyotte508

+0

Я увеличил заполнение так, чтобы полоса прокрутки не перекрывалась со списком, и это все еще происходит. Я не думаю, что это полоса прокрутки. :( – user1261499

+0

Я думаю, что это как-то связано с прозрачностью и оптимизацией. Попробуйте вызвать invalidate() на каждом прокрутке либо на ваших текстовых изображениях, либо на ваших изображениях. (Или список) – coyotte508

ответ

2

Я не уверен, но попробуйте добавить android:cacheColorHint="@android:color/transparent" к представлению списка, поскольку это удаляет любой вид flickring в списке прокрутки ... может быть это и есть причина в этом случае .....

+0

спасибо! – user1261499

Смежные вопросы