Я создал специальный список, который существует из следующих элементов, чтобы создать прокручиваемый список, в котором каждая строка содержит изображение с левой стороны и некоторый текст с правой стороны:
Чтобы начать с «корневого» макета:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#C8C8C8"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:divider="#C8C8C8"
android:background="#C8C8C8"/>
</LinearLayout>
а затем в ListView я помещаю следующий элемент «строки»:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/bg_row"
>
<ImageView
android:layout_width="wrap_content"
android:paddingLeft="10px"
android:paddingRight="15px"
android:paddingTop="5px"
android:paddingBottom="5px"
android:layout_height="wrap_content"
android:src="@drawable/bg_image"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5px"
android:paddingBottom="5px"
android:textSize="16sp"
android:textColor="#000000"
android:layout_gravity="center"
android:maxHeight="50px"/>
</LinearLayout>
Пока экран отображается статически (как без движения), он будет отображаться правильно, но когда я начну прокручивать список, фон элемента строки («значок», как это может быть показано в коде) будет отображается правильно, но фон «корневого» макета станет полностью черным ... когда прокрутка останавливается, фон в большинстве случаев возвращается к своему цвету ... Во время тестирования я также добавил TextView
в этот корневой элемент с тем же фоном, этот будет задерживать свой цвет при прокрутке списка ... Есть идеи, почему это происходит, и как это решить?
android:cacheColorHint="#0000"
также работает, если вы боитесь нулей.android:cacheColorHint="@android:color/transparent"
если вы боитесь чисел :)Это очень просто, просто используйте эту строку в вашем файле макета:
нравится:
источник
Вы можете использовать так:
источник
источник
У нас есть много вариантов для этой проблемы, вы можете установить прозрачный фон с помощью программирования, как
или через xml
источник
В вашем XML, где использовать
Listview
набористочник
Я использую изображения в,
listView
и он становится черным иногда в Samsung S4 даже не прокручивая. Это была глупая ошибка, которую я сделал в адаптере. Я просто установил свой взгляд на нуль, чтобы исправить эту проблемуисточник
Есть много ответов на этот вопрос, но сегодня я понял, что этот вопрос до сих пор не хватает важной информации.
Есть два возможных решения проблемы, оба работают, но каждый должен использоваться в разных ситуациях.
методы
Используйте,
android:cacheColorHint
когда у васListView
есть сплошной цвет фона.Используйте,
android:scrollingCache
когда у васListView
есть (сложное) изображение в качестве фона.Запись
Когда у вас
ListView
сплошной цвет фона, оба метода будут работать, поэтому не толькоcacheColorHint
будет работать. Но не рекомендуется использоватьscrolingCache
метод для однотонных фонов, поскольку он отключает метод оптимизации, используемый для плавной анимации и прокрутки ListView.Примечание для примечания:
scrolingCache
значение false не обязательно означает, чтоListView
анимация и прокрутка станут медленными.источник
источник
Следующее работало для меня:
источник
android:cacheColorHint="#00000000"// setting transparent color
или
не устанавливать фон
listview
.источник