Можно ли изменить стиль ListView для Android без создания собственного списка? - PullRequest
3 голосов
/ 26 июня 2010

Я хотел бы изменить текст и фоновый цвет моего Listview без создания пользовательских строк. Возможно ли это?

Вот мой код, который НЕ работает.

<ListView
    android:id="@android:id/list"
    android:textColor="#000000"           
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:cacheColorHint="#000000"/>

Любая помощь будет оценена.

Спасибо

1 Ответ

10 голосов
/ 26 июня 2010

Прежде всего, cacheColorHint не имеет ничего общего со стилем.Попробуйте посмотреть презентацию Romain Guy's ListView на GoogleIO 2010 .С ним вы многое поймете.

О стиле:

Я изменил несколько вещей в своем приложении.

Просмотр с помощью ListView:

<ListView android:id="@id/android:list"
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent"
  android:layout_weight="1"
  android:headerDividersEnabled="false"
  android:footerDividersEnabled="true"
  android:divider="@drawable/list_divider"
  android:dividerHeight="1dip"
  android:cacheColorHint="#FFFFFF"
/>

Краткое объяснение: я просто покинул footerDivider и изменил свой делитель на градиент.

drawable / list_divider:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <gradient
                android:startColor="#000000"
                android:centerColor="#CCCCCC"
                android:endColor="#FFFFFF"
                android:height="1px"
                android:angle="0" />
        </shape>
    </item>
</layer-list>

RowLayout:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:paddingTop="2dp"
    android:paddingBottom="2dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="@android:color/white">

Объяснение: Добавлен белый фон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...