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

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

4b9b3361

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