#android #android-listview
#Android #android-listview
Вопрос:
Я создаю приложение с несколькими элементами списка на главном экране. Конфигурация главного экрана выглядит следующим образом:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:weightSum="1">
<ImageView android:id="@ id/home_header" android:src="@drawable/home_header"
android:layout_width="fill_parent" android:layout_height="wrap_content"></ImageView>
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:orientation="vertical"
android:layout_gravity="top" android:id="@ id/HomeOptions">
<!-- android:textFilterEnabled="true" -->
<ListView android:id="@ id/HomeOptionsList"
android:layout_width="fill_parent" android:layout_height="wrap_content">
</ListView>
</LinearLayout>
Конфигурация элемента списка выглядит следующим образом:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent" android:weightSum="1">
<TableRow android:id="@ id/listItem" android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView android:id="@ id/icon" src="@drawable/icon"
android:layout_width="wrap_content" android:layout_height="match_parent" />
<TextView android:id="@ id/chat_type" android:textStyle="normal"
android:paddingTop="12dp" android:paddingLeft="5dp"
android:layout_width="wrap_content" android:layout_height="match_parent" android:textSize="20px"/>
<ImageView android:id="@ id/home_msg_notification_icon" src="@drawable/message_recieved" android:paddingLeft="50dp"
android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_gravity="right" />
<!-- <ImageView android:id="@ id/error_notification_icon" src="@drawable/warning_icon" android:paddingLeft="50dp"
android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_gravity="right" /> -->
</TableRow>
На экране вывода возникает странная проблема: он не показывает разделительные строки для нескольких элементов. Когда я пытаюсь перетащить элемент списка, разделительные линии появляются, а затем исчезают. Я приложил снимок экрана, чтобы вы могли посмотреть.
Нажмите здесь
Комментарии:
1. Этот вопрос в группах Google может быть интересным (особенно в последнем сообщении).
Ответ №1:
На устройствах с низким разрешением (320×240, таких как HTC wildfire) разделитель списка отображается не всегда. Один и тот же разделитель может появляться и исчезать во время прокрутки.
Я исхожу из приближения размера к высоте разделителя.
В ListView высота разделителя по умолчанию равна размеру выводимого разделителя, высота 1px как я вижу в исходном коде Android, на устройстве с низким разрешением он отображается по неизвестной причине как 1px или 0px. Разделитель исчезает, когда размер округляется до 0 пикселей.
Чтобы убедиться, что он отображается правильно на всех устройствах, я обычно определяю разделитель в пикселях, например:
android:dividerHeight="1px"
Ответ №2:
mListView.setDividerHeight(1);
если вы используете 0,5dip на старых устройствах, он не отображается