Представление списка Android: прокрутка изменяет размеры элементов странным способом - PullRequest
2 голосов
/ 24 марта 2011

У меня проблема с представлением списка и его элементами. При прокрутке списка вверх / вниз я заметил, что элементы немного меняются (примерно на один пиксель) и в моем приложении это выглядит как ^ . Разделитель между двумя элементами должен иметь высоту один пиксель (используется поведение Android по умолчанию), но при прокрутке разделитель иногда составляет 2 пикселя или 0 пикселей (не видно). Это плохо, так как похоже, что два элемента образуют один элемент списка.

Есть ли у кого-нибудь решение этой странной проблемы с изменением размера при прокрутке внутри списка?

Моим устройством разработки является HTC Wildfire с версией прошивки 2.1-update1. Эмулятор настроен на: Android 2.1-update1, скин WVGA800 и hw.lcd.density = 240.

ListView заполнен следующим макетом элемента, и я использовал настройки по умолчанию для списка:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="#F0F0F0">
    <ImageView
        android:id="@+id/test_icon"
        android:layout_height="fill_parent"
        android:layout_width="wrap_content"
        android:src="@drawable/icon"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:scaleType="centerInside">
    </ImageView>
    <TextView
        android:id="@+id/testTextView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_alignWithParentIfMissing="true"
        android:layout_toLeftOf="@+id/test_icon"
        android:text="test"
        android:textColor="#555555" />
</RelativeLayout>

Спасибо!

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Попробуйте установить андроид: гравитация по центру | заполнить либо на внешний элемент, либо на оба внутренних. Это исправило проблему изменения размера при прокрутке, которая у меня была.

0 голосов
/ 03 июля 2011

Попробуйте установить текстовый элемент на width="wrap_content"

...