Подтвердить что ты не робот

Фон списка просмотра серый на 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, но он вышел тем же самым.

У кого-нибудь есть идеи, где я могу попытаться это исправить? Это выглядит действительно уродливо на симпатичном телефоне.

Спасибо, Грег

4b9b3361

Ответ 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, но пока в моем тестировании все платформы берут новый тег без жалоб.