Фон списка просмотра серый на Droid 3
У меня есть список с настраиваемым фоном. Он показывает тонкую белую линию с обеих сторон с черным фоном. Отлично работает на всех моих тестовых телефонах (Galaxy Captivate, Vibrant, Nexus 1, G Tablet, Archos 32, Droid). Я просто получил Droid 3 для тестирования, и на этом телефоне фон списка, в котором нет элементов, является серым. Элементы списка имеют правильный черный фон.
Здесь макет, содержащий представление списка. В списке есть текстовое поле с белым фоном сверху и снизу, а фон для списка - это drawable (я знаю, что он называется тремя границами, но это только две границы).
<RelativeLayout
android:layout_below="@id/divider01"
android:layout_above="@id/save_current_button"
android:id="@+id/profile_middle_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="3dip"
android:orientation="vertical">
<TextView android:id="@+id/user_profile_row"
android:text="@string/user_profiles_label"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@android:color/black"
android:background="@drawable/roundedtop"/>
<TextView android:id="@+id/current_profile_name"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#2B497B"
android:background="@drawable/roundedbottom"/>
<ListView android:id="@id/android:list"
android:layout_below="@id/user_profile_row"
android:layout_above="@id/current_profile_name"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="3dip"
android:paddingRight="3dip"
android:drawSelectorOnTop="false"
android:background="@drawable/three_side_border"
android:cacheColorHint="#ffffffff"/>
</RelativeLayout>
Здесь выводится - это должно заставлять фон черным.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle">
<solid android:color="#FFFFFFFF" />
</shape>
</item>
<item android:left="3dp" android:right="3dp">
<shape android:shape="rectangle">
<solid android:color="#FF000000" />
</shape>
</item>
</layer-list>
Я заметил, что в моем элементе списка xml у меня нет альфа-слоя, указанного в моих цветах, поэтому я попытался снять ведущий FF на мой drawable, но он вышел тем же самым.
У кого-нибудь есть идеи, где я могу попытаться это исправить? Это выглядит действительно уродливо на симпатичном телефоне.
Спасибо,
Грег
Ответы
Ответ 1
Приятель нашел комментарий на форуме Motorola:
Motorola изменила значения атрибутов для встроенных тем на устройствах Moto с 2.3. "Если вы установили overScrollFooter
в @null
, нижний список фон становится прозрачным, и ваше фоновое изображение показывает через.... Если вам нужен фоновый фон, но другой один, вы можете установить overScrollFooter
в цвет или вытягиваемый..."
android:overScrollFooter="#aa000000"
android:overScrollFooter="@drawable/my_drawable"
http://community.developer.motorola.com/t5/MOTODEV-Blog/Why-Does-My-ListView-Look-Different/ba-p/17462
Я все еще не совсем уверен, что они делают при рендеринге этого пространства, но я могу заставить его работать. Если я использую вариант drawable и даю ему мою возможность рисования с левой и правой границей, этот объект будет рисоваться внутри рамки из фона списка, т.е. Он каким-то образом покажет первый элемент в моем двухслойном фону, пространство ниже моих элементов списка теперь имеет более широкую границу, но оно черное. Это, по крайней мере, соответствует моему предыдущему тесту, когда я изменил первый слой на синий и получил синюю линию всей высоты списка. Если я просто иду с черным #ff000000
, тогда список выглядит так же, как и все мои другие телефоны. Поэтому я не уверен, как они вычисляют пространство нижнего колонтитула - я не понимаю, как они узнают, что у меня есть двухслойный объект и просто заменяю второй слой. Что-то еще должно происходить, я просто не понимаю, но он работает.
Был также комментарий, что вам нужно будет выбрать тему, основанную на версии Android, но пока в моем тестировании все платформы берут новый тег без жалоб.