들어가며
어제는 로또 추첨하기에 기능에 대해 살펴 보았습니다. 어제 배웠던 기능들은 많이 사용하는 기능으로서 list를 사용한면 필히 사용해야 하는 것들 foreach 문 또는 forEachIndex 등 다양한 list의 확장 함수들이 있습니다. 오늘은 kotlin 말고 layout을 만져 볼 생각입니다! 로또 추첨하면 그 동글동글한 숫자들이 생가날텐데요!! 아마 background를 설정하지 않고 TextView로만 숫자들을 표현한다면 정말정말 개발자가 만든 것 처럼 밋밋하고 재미도 없을 것입니다
그래서!! drawable에 TextView만의 background를 만들어 보는 시간을 가질 겁니다!!
Drawable
기본적으로 안드로이드의 layout을 디자인 할 때에는 이 Drawable 폴더를 자주 사용하곤 합니다 Drawable 리소스 파일들 중에 shape라는 리소스 파일이 있습니다 그것은 단어에서 다가오듯이 형태를 직접 디자인 할 수 있겠금 만들어주는 리소스 파일입니다
<shape
android:shape="oval">
<solid
android:color="@color/red" />
<size
android:width="50dp"
android:height="50dp" />
</shape>
위와 같이 코드를 사용하면 가로 세로 크기가 50dp인 작은 원이 나오게 됩니다
자 여기서 코드를 하나씩 뜯어보죠!! 기본적으로 shape태그는 속성으로 android:shape를 가지게 되는데 여기서 기본적인 모형의 틀을 잡을 수 있습니다. oval은 원을 ractangel은 사각형 등 여러가지의 모형을 만들 수 있습니다 이 모형들중 가장 많이 사용되는 원 과 사각형을 꼭 기억해 두세요!!
다음으로는 solid태그 입니다 뭔가 solid 하면 실선이 생각나곤 합니다.. css를 많이 해서 그런가... 그런지만 android에서 solid태그는 모형의 생삭을 선택 하는 것입니다 그래서 속성으로 android:color를 설정하여 색깔을 칠할 수 있습니다
마지막으로는 size입니다 size은 모형의 가로와 세로를 정할 수 있습니다 주로 dp로 설정하여 화면이 커지면 사이즈도 저절도 커지겠금 만들어 둠니다!
자 이렇게 만들어 놓은 리소스는 어떻게 사용하냐 한 번 알아 보겠습니다
<TextView
android:width="match_parent"
android:height="match_parent"
....
....
....
android:backgroudn="@drawable/textResource"
....
....
.... />
위와 같이 drawable폴더에 저장되어있는 textResource(사용자가 파일 이름 짖기 마련)을 사용 할 수 있습니다 xml에서의 적용방법은 간단하죠??!?!
그렇지만 이 resource파일은 정적으로 사용되는 것 보다 동적으로 사용될때 더 큰 효과를 낼 수 있습니다 왜냐하면 색깔은 보통 바뀌기 마련이거든요 ㅎㅎ 이렇게 정적으로 작성후 사용해 버리면 조건에 따른 생상 변화를 주기가 굉장히 힘들기 때문입니다!
그래서 resrouce 파일을 kotlin에서 적용 방법을 한번 알아보겠습니다
textView.background = ContextCompat.getDrawable(context, R.drawable.textResources)
짠 너무 쉽죠!! 다음과 같이 사용하면 해당 textView 의 background는 원하는 색상과 모형으로 바뀝니다 하나식 살펴 볼까요?
resource 파일들은 context에 있습니다 그래서 context에서 파일을 불러오는 형식의 코드를 작성하면 됩니다.
자 이렇게 간단히 background 적용 방법을 알아봤습니다 색상이 조금 들어가니 이제 안드로이 개발자가 된 것 같군요 ㅎㅎ 내일은 지금까지 한 로또 추첨기에서 무엇을 배웠는지 집고 넘어가는 시간을 갔도록 하겠습니다!!
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발#패스트캠퍼스후기#30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 30일챌린지' 카테고리의 다른 글
[안드로이드] 패스트캠퍼스 챌린지 20일차!! (0) | 2021.09.25 |
---|---|
[안드로이드] 패스트캠퍼스 챌린지 19일차!! (0) | 2021.09.24 |
[안드로이드] 패스트캠퍼스 챌린지 17일차!! (0) | 2021.09.22 |
[안드로이드] 패스트캠퍼스 챌린지 16일차!! (0) | 2021.09.21 |
[안드로이드] 패스트캠퍼스 챌린지 15일차!! (0) | 2021.09.20 |
댓글