page.title=시작하기 @jd:body
머티리얼 디자인으로 앱을 생성하려면:
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
속성을 사용하여 뷰 엘리베이션의 일시적 변경을 반영하는 애니메이션을 생성할 수 있습니다.
엘리베이션 변경은
터치
제스처에 반응할 때 유용하게 쓰일 수 있습니다.
자세한 내용은 그림자 정의 및 뷰 클리핑을 참조하세요.
{@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에 대한 자세한 내용은 사용자지정 애니메이션 정의를 참조하세요.