Skip to content

Most visited

Recently visited

navigation

시작하기

머티리얼 디자인으로 앱을 생성하려면:

  1. 머티리얼 디자인 사양을 검토합니다.
  2. 앱에 머티리얼 테마를 적용합니다.
  3. 머티리얼 디자인 지침에 따라 레이아웃을 생성합니다.
  4. 그림자를 드리우기 위한 뷰의 엘리베이션을 지정합니다.
  5. 목록 및 카드에는 시스템 위젯을 사용합니다.
  6. 앱에서 애니메이션을 사용자지정합니다.

이전 버전과의 호환성 유지

Android 5.0 이전 버전과의 호환성을 유지하면서 다양한 머티리얼 디자인 기능을 앱에 추가할 수 있습니다. 자세한 내용은 호환성 유지를 참조하세요.

머티리얼 디자인으로 앱 업데이트

머티리얼 디자인을 통합하기 위해 기존 앱을 업데이트하려면 머티리얼 디자인 지침에 따라 레이아웃을 업데이트하세요. 또한 깊이, 터치 피드백, 애니메이션도 통합하세요.

머티리얼 디자인으로 새 앱 생성

머티리얼 디자인 기능으로 새 앱을 생성하는 경우, 머티리얼 디자인 지침은 효율적인 디자인 프레임워크를 제공합니다. 앱 디자인 및 개발 시 이 지침을 따르고 Android 프레임워크의 새로운 기능을 사용하세요.

머티리얼 테마 적용

머티리얼 테마를 앱에 적용하려면 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>

머티리얼 테마는 터치 피드백 및 액티비티 전환을 위한 색상표 및 기본 애니메이션을 설정할 수 있는 업데이트된 시스템 위젯을 제공합니다. 자세한 내용은 머티리얼 테마 사용을 참조하세요.

레이아웃 디자인

머티리얼 테마를 적용하고 사용자지정하는 것과 더불어, 레이아웃이 머티리얼 디자인 지침을 따라야 합니다. 레이아웃 디자인 시 다음 사항에 특히 주의하세요.

뷰에서 엘리베이션 지정

뷰는 그림자를 드리울 수 있으며 뷰의 엘리베이션 값은 그림자 크기 및 그리는 순서를 결정합니다. 뷰의 엘리베이션을 설정하려면 레이아웃에서 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 속성을 사용하여 뷰 엘리베이션의 일시적 변경을 반영하는 애니메이션을 생성할 수 있습니다. 엘리베이션 변경은 터치 제스처에 반응할 때 유용하게 쓰일 수 있습니다.

자세한 내용은 그림자 정의 및 뷰 클리핑을 참조하세요.

목록 및 카드 생성

RecyclerViewListView의 플러그 기능이 개선된 버전으로, 다양한 레이아웃 유형을 지원하고 향상된 성능을 제공합니다. 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!

WeChat에서 Google Developers 팔로우하기

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)