Skip to content

Most visited

Recently visited

navigation

Начало работы

Порядок создания приложения с элементами Material Design

  1. Ознакомьтесь со спецификацией Material Design.
  2. Примените тему Material Design к своему приложению.
  3. Создайте макеты в соответствии с рекомендациями Material Design.
  4. Установите высоту своих представлений для отбрасывания теней.
  5. Используйте системные виджеты для списков и карточек.
  6. Настройте анимацию в своем приложении.

Обеспечение обратной совместимости

В приложении можно реализовать множество функций Material Design и одновременно сохранить его совместимость с версиями Android, предшествующими версии 5.0. Дополнительные сведения представлены на странице Обеспечение совместимости.

Обновление приложения с добавлением элементов Material Design

Чтобы дополнить существующее приложение функциями и элементами Material Design, обновите макеты в соответствии с рекомендациями Material Design. Также не забудьте добавить в приложение функции глубины, реакции на касание и анимации.

Создание новых приложений с элементами Material Design

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

Применение темы Material Design

Чтобы применить тему 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 можно создавать анимации, которые отражают временные изменения в высоте представления. Изменения высоты могут быть полезны при реагировании на сенсорные жесты.

Дополнительные сведения представлены в разделе Определение теней и обрезка представлений.

Создание списков и карточек

RecyclerView представляет собой более гибкую версию ListView. Она поддерживает различные типы макетов и способствует повышению производительности. CardView обеспечивает единообразное отображение фрагментов информации внутри карточек в разных приложениях. В следующем примере показано, как включить 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 для анимации см. в разделе Определение настраиваемой анимации.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Следите за новостями от Google Developers в WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)