Android recylerview v.23.2.0 и библиотека дизайна v.23.2.0 сломаны
После обновления до v23.2.0 элементы recyclerview имеют странное поведение: очень большие с пустым пространством. После обновления библиотеки дизайна 23.2.0 значок переполнения меню стал черным (приложение имеет темную панель действий).
UPDATE
На моем значке переполнения 5 и в списке повторного использования исправлены фиксированные значения, но на значке переполнения Galaxy Tab 4 по-прежнему остается черным.
ОБНОВЛЕНИЕ 2
Если у вас возникли проблемы с пустым интервалом, исправьте параметры макета для ваших просмотров (match_parent → wrap_content), поэтому RecyclerView теперь будет масштабироваться в зависимости от размера его содержимого.
Читать этот блог
http://android-developers.blogspot.am/2016/02/android-support-library-232.html
Виджет RecyclerView предоставляет расширенную и гибкую базу для создания списков и сеток, а также поддержку анимаций. Этот выпуск приносит новую функциональность API LayoutManager: автоматическое измерение! Это позволяет RecyclerView самостоятельно определять размер содержимого. Это означает, что ранее недоступные сценарии, такие как использование WRAP_CONTENT для измерения RecyclerView, теперь возможны. Вы найдете, что все встроенные LayoutManager теперь поддерживают автоматическое измерение.
Из-за этого изменения убедитесь, что вы дважды проверяете параметры компоновки ваши просмотры позиций: ранее игнорируемые параметры макета (например, MATCH_PARENT в направлении прокрутки) теперь будет полностью соблюдаться.
ОБНОВЛЕНИЕ 3
Ссылка на проблему, которая описывает проблему с черными значками в панели действий.
Проблема 201918
ОБНОВЛЕНИЕ 4
См. Мой ответ по почте, проблема с иконками также решена.
Ответы
Ответ 1
Причина, по которой вы получаете большие открытые пространства, связана с match_parent. Раньше он работал неправильно, но теперь с новым выпуском он работает по-другому. Вам просто нужно обновить до wrap_content вместо match_parent, поскольку это приведет к тому, что макет будет соответствовать родительскому объекту, который даст вам большие пробелы.
Виджет RecyclerView предоставляет расширенную и гибкую базу для создания списков и сеток, а также поддержку анимаций. Этот выпуск приносит новую функциональность API LayoutManager: автоматическое измерение! Это позволяет RecyclerView самостоятельно определять размер содержимого. Это означает, что ранее недоступные сценарии, такие как использование WRAP_CONTENT для измерения RecyclerView, теперь возможны. Вы найдете, что все встроенные LayoutManager теперь поддерживают автоматическое измерение.
http://android-developers.blogspot.co.uk/2016/02/android-support-library-232.html
Ответ 2
Кажется, что две новые библиотеки, поддерживающие вектор-переносимые и поддерживаемые-анимированные-векторные-чертежи, требуются, потому что appcompat-v7 использует векторные чертежи (Обсуждение проблемы). Просто обновите build.gradle следующим образом, чтобы добавить поддержку векторных чертежей и проблема с черными значками будет решена.
build.gradle
Добавьте следующие строки в свою базу сборки gradle в версии плагина gradle
//gradle Плагин 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
//gradle Плагин 1.5
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
UPDATE
Для пользователей AppCompat для использования AppCompat 23.2.1 больше не требуются флаги для включения вспомогательных векторных чертежей, описанных в блоге 23.2 . Тем не менее, вы все равно можете воспользоваться атрибутом app: srcCompat, если хотите использовать вспомогательные векторные чертежи для своих собственных ресурсов.