page.title=Начало работы @jd:body
Порядок создания приложения с элементами Material Design
В приложении можно реализовать множество функций Material Design и одновременно сохранить его совместимость с версиями Android, предшествующими версии 5.0. Дополнительные сведения представлены на странице Обеспечение совместимости.
Чтобы дополнить существующее приложение функциями и элементами Material Design, обновите макеты в соответствии с рекомендациями Material Design. Также не забудьте добавить в приложение функции глубины, реакции на касание и анимации.
При создании приложений с "материальными" функциями следуйте рекомендациям Material Design, которые позволят вам получить целостное представление о новых принципах дизайна. При проектировании и разработке своего приложения следуйте инструкциям и используйте новые функциональные возможности платформы Android.
Чтобы применить тему Material Design в своем приложении, укажите стиль, который наследует от
android:Theme.Material
:
<!-- res/values/styles.xml --> <resources> <!-- your theme inherits from the material theme --> <style name="AppTheme" parent="android:Theme.Material"> <!-- theme customizations --> </style> </resources>
В теме Material Design содержатся обновленные системные виджеты, для которых можно настраивать цветовую палитру, а также стандартные анимации для реакции на касания и переходы. Дополнительные сведения представлены в разделе Использование темы Material Design.
Помимо применения и настройки темы Material Design, необходимо соответствие рекомендациям Material Design используемых макетов. При разработке макетов необходимо контролировать следующие элементы:
Представления могут отбрасывать тени, и значение высоты определяет размер тени и порядок ее прорисовки.
Чтобы установить высоту представления, используйте в макетах атрибут
android:elevation
:
<TextView android:id="@+id/my_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/next" android:background="@color/white" android:elevation="5dp" />
С помощью нового свойства translationZ
можно создавать анимации, которые отражают временные изменения в высоте представления.
Изменения высоты могут быть полезны при
реагировании на сенсорные
жесты.
Дополнительные сведения представлены в разделе Определение теней и обрезка представлений.
{@link android.support.v7.widget.RecyclerView} представляет собой более гибкую версию {@link android.widget.ListView}. Она поддерживает различные типы макетов и способствует повышению производительности. {@link android.support.v7.widget.CardView} обеспечивает единообразное отображение фрагментов информации внутри карточек в разных приложениях. В следующем примере показано, как включить {@link android.support.v7.widget.CardView} в макет:
<android.support.v7.widget.CardView android:id="@+id/card_view" android:layout_width="200dp" android:layout_height="200dp" card_view:cardCornerRadius="3dp"> ... </android.support.v7.widget.CardView>
Дополнительные сведения представлены в разделе Создание списков и карточек.
В состав Android 5.0 (уровень API 21) входят новые API для создания в приложении настраиваемой анимации. Например, можно разрешать переходы между операциями и задавать для операций конечный переход:
public class MyActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // enable transitions getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS); setContentView(R.layout.activity_my); } public void onSomeButtonClicked(View view) { getWindow().setExitTransition(new Explode()); Intent intent = new Intent(this, MyOtherActivity.class); startActivity(intent, ActivityOptions .makeSceneTransitionAnimation(this).toBundle()); } }
При запуске одной операции из другой активируется конечный переход.
Подробные сведения о новых API для анимации см. в разделе Определение настраиваемой анимации.