Нежелательное поведение элементов RecyclerView

275
20 мая 2017, 17:27

Всем доброго времени суток! Имеется RecyclerView, элементы которого могут выходить за пределы экрана. Каждый элемент представляет из себя View с корневым элементом RelativeLayout. Все элементы (включая дочерние) в каждом View имеют параметр высоты wrap_content. Каждый View зарегистрирован в Activity для отображения контекстного меню методом Activity.registerForContextMenu(). Сам RecyclerView имеет по высоте параметр match_parent.

Так вот, вся эта нехитрая связка работает хорошо, пока не вызывается контекстное меню для элемента списка RecyclerView. При этом, если элемент больше высоты, отведенной под RecyclerView, он насильно масштабируется таким образом, чтобы вписываться в экран. (В TextView обрезается текст, ImageView уменьшает размер картинки)

До вызова контекстного меню:

После вызова:

Я очень долго пытался разобраться с этой проблемой, но так и не понял, из-за чего проявляется такое поведение у элементов списка. Как можно справиться с этой проблемой? Неужели, это баг в Android API?

Answer 1

Спасибо pavlofff за комментарий, PopupMenu действительно для моих целей подходит лучше, даже несмотря на то, что оно отображается в одну строчку (если места не хватает). Элементы RecyclerView при этом не масштабируются (как и нужно)

READ ALSO
Парсер интернет магазина на Java

Парсер интернет магазина на Java

Получил тестовое задание написать парсер для интернет магазина, чтобы через поле поиска задать интересующий товар и на выходе получить xml файл...

430
Как одновременно получить данные от retrofit?

Как одновременно получить данные от retrofit?

Мне нужно одновременно получить данные еще и с

200
JOGL, отрисовка текстуры

JOGL, отрисовка текстуры

Здравствуйте! Начал работать с JOGLВот уже 2 дня пытаюсь отрисовать текстуру, но, разумеется, ничего не получается

207
Как получить результат SQL-запроса

Как получить результат SQL-запроса

Здравствуйте, нужна помощь с SQLiteМне при добавлении записи в БД нужно проверить существует ли такая запись

192