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 для анимации см. в разделе Определение настраиваемой анимации.