본문 바로가기

View

(4)
AppWidget - View 구성 요소Widget LayoutAppWidgetProviderInfoAppWidgetProviderRemoteViewsWidget LayoutWidget은 기본적으로 RemoteViews를 사용한다.RemoteViews에 사용할 수 있는 View는 제한적인데, 종류는 다음과 같다.이를 이용하여 아래와 같은 간단한 위젯을 만들 수 있다. RemoteViews에 사용할 수 있는 View와 Layout을 사용하여 자유롭게 Widget을 디자인 할 수 있지만, Widget의 크기를 고려하여 구현해야 한다. AppWidgetProviderInfoAppWidgetProviderInfo는 Widget의 필수 속성들을 정의하며, XML로 구현할 수 있다.(해당 파일의 경로는 res/xml/ 에 저장한다.) ..
Navigation Component 기존에 Fragment를 사용하기 위해선 FragmentManager를 사용하여 Fragment에 필요한 작업들을 수동적으로 처리해줘야 했다.fragmentManager = supportFragmentManagerval transaction = fragmentManager .beginTransaction() .addToBackStack(name)transaction.replace(R.id.nav_host_fragment_content_main, fragment).commit() Jetpack의 Navigation Component는 이러한 부분들을 좀 더 쉽고 간편하고 직관적으로 사용 할 수 있도록 도와주는 라이브러리이다. 구성 요소Na..
[View] Progress Bullet Point 이전에 구현한 Bullet Point를 바탕으로 잔행 상태를 나타내는 Progress Bullet Point를 구현해보자.https://snaildeveloper.tistory.com/145 [View] 글 머리 (Bullet Point) 만들기TODO 앱 개인 프로젝트를 리팩토링하면서 나의 일정 목록을 좀 더 직관적으로 보여주고 싶었다.그래서 나만의 Bullet Point를 만들어 사용하기로 하였다. Bullet Point는 Canvas의 Circle과 Line을 사용하여snaildeveloper.tistory.com 진행한 부분은 실선으로, 아직 미진행 부분은 점선 및 회색으로 표시하여 상태를 아래와 같이 나타낼 수 있다. 상태해당 프로젝트에서의 상태는 4가지가 있다.성공 - 초록색실패 - 빨간색진행..
[View] 글 머리 (Bullet Point) 만들기 TODO 앱 개인 프로젝트를 리팩토링하면서 나의 일정 목록을 좀 더 직관적으로 보여주고 싶었다.그래서 나만의 Bullet Point를 만들어 사용하기로 하였다. Bullet Point는 Canvas의 Circle과 Line을 사용하여 구현하였는데, 고려해야 할 사항이 몇 가지 있었다. 리스트에서 사용하기에 RecyclerView의 Item에 선언된다.Item에 선언되기에 각 Item의 Position에 따라 모양이 달라진다. ex) 첫 번째 Item의 경우 원 위쪽 라인이 필요가 없다. 1. 인터페이스 생성확장성을 고려하여 다양한 Bullet Point를 구현할 수 있도록 Circle과 Line에 대한 Interface 생성interface Bullet { fun drawLineUp(canvas:..