2015-08-22 1 views
0

Мне было интересно, как Material Design использует ограничения на приложения и устройства Android, которые он подразумевает.Ограничение материала и ограничений на устройства

Я уже разработаны для Android, но темами использований, казалось, действительно путают в этот момент (AppCompat и прочее, я никогда не получил его)

Но, видимо, последний Google I/O принес некоторые инструменты, чтобы помочь использование Дизайн материалов в приложениях для Android.

Итак, мой вопрос в том, как правильно использовать элементы Material Design, не ограничивая ваше приложение множеством устройств?

(я надеюсь, что я веду себя достаточно ясно)

+0

https://www.google.com/design/spec/material- design/introduction.html – slanecek

+0

@slanecek Я уже просмотрел это. я, похоже, не ответил на мой вопрос. Я просто хотел бы узнать, ограничивают ли материалы дизайн старых устройств пользователями. спасибо в любом случае – Devz

+0

, если вам нужны только темы дизайна материалов в устройствах pre-lollipop, вы можете использовать тему appCompat из библиотеки поддержки, например, '' или вы можете использовать одну из библиотек, размещенных в github, если вам нужны такие функции, как эффект пульсации 'https: // github.com/ZieIony/Carbon' посмотреть этот lib – Sony

ответ

0

Используйте Design Appcompat библиотеки для реализации некоторых Материальных возможностей работать на предварительно Леденец устройств, использовать реальный Материальные стили и компоненты на Lollypop +.

Это делается путем предоставления альтернативных ресурсов (styles | themes.xml, layouts etc.) с использованием квалификатора ресурсов (-v21).

В values-v21/themes.xml вы положили

<style name="MyAppBaseTheme" parent="android:Theme.Material"> 
    <item name="android:colorPrimary">@color/primary</item> 
    ... 

В values/themes.xml вы положили

<style name=”MyAppBaseTheme” parent=”Theme.AppCompat”> 
    <item name=”colorPrimary”>@color/primary</item> 
    ... 
<style name=”MyAppTheme” parent=”MyAppBaseTheme”> 
    <!-- here you put the version-independent stuff --> 

Таким образом, вы ловко воспользовавшись темой переопределения, по только замене материала связанной части и определению всего остального один раз.

Обратите внимание на точный префикс android: в версии, отличной от Appcompat. Это связано с тем, что в 5+ эти атрибуты являются частью sdk, а в Appcompat они являются обычными, такими же гражданами класса, как и любой из стилей, которые вы сами определяете.

Читать guide on maintaining compatibility, он расскажет вам о предоставлении альтернативных ресурсов стиля и рассек кодовое для пост- и пры 5,0

UPD Что касается Вашего вопроса в комментариях, они будут в состоянии отображать материал дизайн слишком?

Here is a breakdown of support library version and flavours, v* указывает минимальную версию Android, необходимую для запуска указанной библиотеки. Например. общая библиотека поддержки v7 предоставит вам поддержку [подмножество] Материальные компоненты и стили на устройствах полностью назад к андроиду 2.1

+0

Хорошо спасибо. Ну, это немного сложно! Разве это не должно быть проще? :( Итак, если у меня это получилось, мне нужно познакомить код моего приложения с версиями ОС разных пользователей. – Devz

+0

Да, вы это делаете :) Это стоимость обратной совместимости. На самом деле это не так сложно. Или вы можете просто отказаться от поддержки ОС до 5.0 и ждать, пока она станет основной версией. –

+0

ОК, спасибо за ваше время, я буду работать над этим! – Devz

Смежные вопросы