안드로이드/UI

안드로이드/UI

[Android] Shared Element Transitions 사용하기

Shared Element Transitions Shared Element Transitions을 사용하면 선택한 이미지가 다음 화면까지 연결되어 보여질 수 있습니다. 또한, 이는 화면 간에 공유되는 요소들에 의해서 좀 더 직관적이고 부드러운 연출을 가능하도록 합니다. 애니메이션으로 활동 시작 | Android 개발자 | Android Developers 애니메이션으로 활동 시작 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 머티어리얼 디자인 앱의 활동 전환은 공통 요소 간의 모션 및 변환을 통해 서로 developer.android.com Continuous Shared Element Transitions: RecyclerView to ViewPager News and ..

안드로이드/UI

[Android] AppBarLayout 사용하기

AppBarLayout AppBarLayout은 Toolbar를 포함하여 Toolbar 이외에 액티비티 화면 상단을 다양하게 구성할 수 있는 레이아웃입니다. Material Design Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences. m3.material.io AppBarLayout 구현하기 CoordinatorLayout을 부모 레이아웃으로 하며, AppBarLayout 내에 CollapsingToolbarLayout(툴바 영역)이 들어가고 NestedScrol..

안드로이드/UI

[Android] MotionLayout 사용하기

MotionLayout MotionLayout은 ConstraintLayout의 서브클래스이며, 애니메이션을 관리할 수 있는 레이아웃입니다. 기존에는 애니메이션을 정의하고 실행시키기 위해서는 보통 xml에서 정의한 후 코드로 실행시키는 방식이었지만, MotionLayout은 xml로만 애니메이션을 정의 및 실행시킬 수 있습니다. MotionLayout의 가장 큰 특징은 애니메이션과 관련된 내용을 별도의 xml(MotionScene)에 분리하여 재사용한다는 점입니다. MotionLayout으로 모션 및 위젯 애니메이션 관리 | Android 개발자 | Android Developers MotionLayout으로 모션 및 위젯 애니메이션 관리 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고..

안드로이드/UI

[Android] Navigation 사용하기

Navigation Navigation은 Android Jetpack 구성요소 중 하나로 사용자의 상호작용에 따라 화면 간의 이동을 구현하는데 도움을 줍니다. 이는 FragmentManager를 내부적으로 사용하여 구현되어 있기 때문에 해당 라이브러리를 사용하면 FragmentManager와 상호작용하지 않아도 됩니다. 또한, Navigation을 활용하면 Single Activity Architecture 구조를 보다 쉽게 설계할 수 있습니다. 여기서 SAA는 하나의 Activity와 여러 개의 Fragment를 사용하는 구조입니다. SAA를 사용하면 다음과 같은 장점과 단점이 있습니다. 장점 Activity는 Fragment에 비하여 상대적으로 무겁기 때문에 메모리나 속도 측면에서 훨씬 더 이득을 취..

안드로이드/UI

[Android] CoordinatorLayout과 Bottom Sheet

CoordinatorLayout CoordinatorLayout은 FrameLayout에 기반을 둔 Layout으로 주로 다음과 같이 사용합니다. 화면의 최상위 뷰인 DecorView로서의 사용 하나 혹은 그 이상의 자식 뷰들과 상호작용하기 위한 컨테이너로서의 사용 CoordinatorLayout은 보통 스크롤 이벤트에 따라 상단의 AppBar 혹은 다른 View를 변화시키고 싶을 경우에 사용합니다. 스크롤에 따라 AppBar를 숨길 수 있고 하나의 뷰가 드래그 될 때 다른 뷰가 함께 드래그되게끔 할 수 있습니다. Bottom Sheet Bottom Sheet은 CoordinatorLayout과 함께 유용하게 사용할 수 있습니다. Bottom Sheet는 액티비티 창의 화면 구성과 별도로 하단에 View..

안드로이드/UI

[Android] SearchView

SearchView 보통 안드로이드에서 검색 기능을 구현할 때, ToolBar 안에 검색 창을 구현하는 방법을 사용합니다. 이처럼 EditText 와 Button을 사용하여 구현할 수도 있지만, SearchView를 통해서도 구현이 가능합니다. SearchView 사용하기 다음과 같이 레이아웃에 SearchView를 추가합니다. iconifiedByDefault : SearchView의 상태를 나타내는 속성 true : SearchView가 기본적으로 접혀 있는 상태로 시작이 되며, SearchView의 아이콘을 클릭해야 검색할 수 있도록 창이 열립니다. (default) false : SearchView가 기본적으로 펼쳐 있는 상태로 시작이 되며, 검색 창을 클릭하면 바로 검색을 할 수 있습니다. qu..

안드로이드/UI

[Android] CardView

CardView CardView는 아래와 같이 각 모서리를 둥글게 표현할 수 있는 형태의 레이아웃을 말합니다. 라운드 처리 뿐만 아니라 그림자 효과도 쉽게 줄 수 있어 손쉽게 사용자의 눈에 띄도록 표현할 수 있습니다. 따라서, 보통 리스트뷰 계열의 데이터 목록에서 각 아이템을 표현하고자 할 때 자주 사용됩니다. CardView 사용하기 CardView를 사용하기 위해서는 build.gradle에 Material Library가 추가되어 있어야 합니다. implementation 'com.google.android.material:material:1.9.0' 다음과 같이 레이아웃에 CardView를 추가합니다. cardCornerRadius : CardView의 각 모서리의 둥근 정도 지정 cardBack..

안드로이드/UI

[Android] View에 그림 그리기

View에 그림 그리기 안드로이드에서는 Bitmap 또는 Paint를 이용해 Canvas에 그림을 그리고 View에 적용할 수 있습니다. Canvas Canvas는 View의 그리드 표면, 뷰에 그림을 그릴 수 있는 도화지입니다. 이는 View 클래스의 onDraw() 메서드의 인수로 전달됩니다. 다음은 Canvas의 주요 메서드입니다. 메서드 이름 그리기 대상 void drawPoint(float x, float y, Paint paint) 점 void drawLine(float startX, float startY, float stopX, float stopY, Paint paint) 선 void drawCircle(float cx, float cy, float radius, Paint paint) ..

damon-911
'안드로이드/UI' 카테고리의 글 목록