Я хочу отключить оранжевую подсветку, которая появляется при касании строки listView. До сих пор в моем XML я пробовал следующее:
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
Более подробная информация: я хочу, чтобы разница была нулевой, когда пользователь касается экрана в этом объекте listView.
android
android-listview
highlighting
Джон Моффит
источник
источник
Fragment
для списка. XML-макет содержитLinearLayout
несколькоTextView
элементов. Где я должен отключить подсветку строки, пожалуйста?listView.setSelector(android.R.color.transparent);
Ответ RoflcoptrException должен сработать, но по какой-то причине он не сработал для меня, поэтому я публикую решение, которое сработало для меня, надеюсь, оно кому-нибудь поможет
источник
Оранжевый эффект выделения - это стиль в ListView. Эта статья дает хороший обзор того, как переопределить стиль listView.
По сути, у вас есть селектор, который определяет различные элементы стиля в зависимости от текущего состояния.
посмотрите это для краткого и быстрого решения https://stackoverflow.com/a/12242564/185022
источник
listSelector
должно быть это.Из ListView: отключить выделение фокуса ,
когда вы установите свой
ListAdapter
использовать следующий кодЭто переопределит
BaseAdapter
класс. Это также отменяет белую границу между ячейками.источник
isEnabled
отключения элемента не является способом его отключения! Документация говорит, чтоisEnabled
предполагается определить, является ли элемент разделителем.добавить это также к вашему XMl вместе с listselector .. надеюсь, это будет работать
источник
Если вы используете
ArrayAdapter
илиBaseAdapter
для заполнения пунктов списка. метод и возврата .Override
isEnabled
false
источник
После нескольких «гугл» и тестирования на виртуальных и реальных устройствах, я заметил, что мой код ниже работает:
обратите внимание, что я опустил
areAllItemsEnabled()
часть.источник
Ничто не помогает мне, кроме этого:
transparent_drawable.xml
:layout.xml
:источник
в коде
и добавить небольшое прозрачное изображение в папку для рисования.
Нравится: transparent.xml
источник
Для меня
android:focusableInTouchMode="true"
это путь.android:listSelector="@android:color/transparent"
бесполезно. Обратите внимание, что я использую пользовательский список с количеством объектов в каждой строке.источник
Вам нужно только добавить:
android:cacheColorHint="@android:color/transparent"
источник
Как альтернатива:
или
источник
Существует быстрый и простой способ сделать это: В методе:
Надеюсь, это поможет;)
источник
Если вы хотите отключить выделение для отдельного элемента представления списка, но оставить ячейку включенной, установите цвет фона для этой ячейки, чтобы отключить выделение.
Например, в макете вашей ячейки установите
android:background="@color/white"
источник
вы можете просто получить то,
pos
что вы получаете отonItemClick
и сделать:это лучший способ, который я знаю
источник