Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

разное поведение разметки для разных версий

#android #xml #android_sdk #material_design


К вопросам о поведении разметки в android - если в версиях после lolipop все работает
как нужно, а до lolipop разметка становится корявой, как это исправить?

Конкретно - есть список recyclerView, в нем items, так вот в версии после 5 все выглядит,
как нужно.

Если запускаю в версиях ниже (пробовал на 4.1.1 и 4.2), то индикатор, показывающий
количество лайков съезжает влево.

Разметка одна и та же, как такие баги исправляются вообще?Писать каким-то образом
отдельно под версии ниже 5-ой, я не понимаю.
    


Ответы

Ответ 1



Под такие случаи пишут layout.xml с таким же названием только для версии API выше т.е. написав layout.xml с корректным видом для более нового API, кладем его в папку с названием layout-v19, все что выше 19 версии включительно будет отображаться как сказано в этом layout

Ответ 2



Стоит изучить тему Предоставление альтернативных ресурсов, если проблемы связаны с объективными причинами, вроде иного парсинга одинаковых атрибутов на более новых API или иные параметры в теме, например вид и размер виджетов. В вашем случае альтернативный ресурс будет по версии API. Так же существует вероятность, что в разметке используются атрибуты, которые не поддерживаются в более старых API (вроде android:layout_marginStart поддерживается с API17). Такие атрибуты игнорируются при парсинге разметки на более старых API и своих функций, естественно, не выполняют.

Комментариев нет:

Отправить комментарий