Большое растровое изображение под ListView / ScrollViews замедляет прокрутку - PullRequest
0 голосов
/ 26 августа 2011

У меня есть следующий макет

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/layout_1"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical"
    android:background="@drawable/1dot6_mb_bitmap">
<include layout="@layout/top_bar"/>
<LinearLayout 
        android:id="@+id/layout_2"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical">
        <ListView 
            android:id="@+id/layout_3"      
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent">
        </ListView>

</LinearLayout> 
<include layout="@layout/bottom_bar"/>

Когда я устанавливаю большое растровое изображение в качестве фона для контейнера layout_1, ListView прокручивается очень медленно. Если я удаляю изображение из фона, ListView прокручивается отлично. Я пробовал также с ScrollView, и это то же самое поведение. Я не могу использовать повторяющееся изображение или 9.png, потому что большое изображение на самом деле является пейзажной фотографией. Есть ли у вас идеи, как я могу решить эту проблему? Или по какой причине ListView / ScrollView ведет себя так медленно в этом случае?

Спасибо

1 Ответ

1 голос
/ 26 августа 2011

Если предположить, что изображение больше, чем занимаемое им пространство, вы можете загрузить его в элемент, используя класс BitmapFactory , чтобы изменить его размер перед вставкой в ​​макет.

...