Pull to refresh

Comments 22

И зачем это? Надо использовать всё нативное и оставить Holo на 4.х. Пока поддерживал 2.х, уже натерпелся подобных костылей.
Ну не писать же две версии приложения — для 4.x и 5.x? А четверку можно будет выкинуть только через года два, не раньше. А тут заодно исправлены некоторые недоразумения 4й версии — например, попробуйте настроить внешний вид SearchView без использования AppCompat
Ну не две версии, а две темы — новую положить в values-v21 и наследовать от какой-нибудь android:Theme.Material.Light.DarkActionBar, а старую оставить как есть. Если хочется и вид самого контента менять, то это тоже достаточно легко делается через ресурсы и в большинстве случаев даже не требует написания кода. Внешний вид SearchView я настраивал и в 4.х, но, каюсь, через reflection.

Да и просто кажется странным делать приложения с новой темой для версий системы, в которых уже были свои внятные гайдлайны. Портировать Holo на 2.х имело смысл, потому что на 2.х до изобретения Holo нормальных интерфейсов не было в принципе.
Две темы создать — действительно не проблема. Но вот тогда и для использования того же Toolbar придется так же делать layout-v21, и в коде проверки делать для вызова setActionBar
Google портировал Material Design на пре-Lollipop, видимо все таки переделывать приложения нужно, ибо даже Google отказался от Holo на старых версиях.
Сами же гугловцы говорят, что можно делать так, как я предлагаю.
Поялвение AppCompat-v21 с портом Material Design противоречит этому
«Feel free to choose either direction» написал в итоге Адам.
Просто values-v21 и layout-v21 дело не обойдётся. Там много чего в коде придётся менять.
Если пишешь свое собственное приложение — ну да, можно побеседовать на эту тему. Я б так вообще сразу для Android Lollipop только писал.
Но как правило пишешь для заказчика и для людей, которым даже поддержку от 14 версии приходиться объяснять.
А можно как-то привести старые диалоги к новому внешнему виду с помощью AppCompat?
Насколько понимаю, стандартный AlertDialog не получится. Есть сторонняя библиотека L-Dialogs, можете попробовать её
Можно еще просто нарисовать «material like» диалоги через DialogFragment.
Да это понятно, в любом случае его использовать. Просто «из коробки» не получается, жаль.
Ответ от команды разработчиков насчет включения стилей диалогов в appcompat:
Not yet, but it's on the todo list.
Ухх… Вот и пришло для меня наконец время разобраться ActionBar'ами! А то как только шерлок появился (давно же это было), я как-то решил, что обойдусь без них.
ActionBar уже достаточно давно официально есть в библиотеках совместимости. Но теперь да, есть лишний повод им заняться.
Кстати, попробовал тему описать как в примере выше, и получаю «No resource found that matches the given name: attr 'colorPrimary'.»
При этом я могу задать его с префиксом android:colorPrimary, но кажется это немного не то. При этом сама тема подцепилась нормально, т.е. на Theme.AppCompat.Light не ругается.
Не знаете в чем может быть дело? Использую по старинке эклипс.
Кажется у меня такое было, как решилось — не помню. Попробуйте скомпилировать. У вас точно AppCompat свежей версии?
Для тех, кому не помогло. После импорта AppCompat, если выскакивают эти ошибки с ресурсами, то в файлике project.properties замените target=android-19 на target=android-21
Sign up to leave a comment.

Articles