[내배캠 Android 4기] TIL 0627

오리너구리·2024년 6월 27일
0

TIL

목록 보기
41/48
post-thumbnail

오늘 할일

  • 코드카타 49번
  • 스탠다드반 과제
  • 람다식 공부

코드카타

⏲️ 09 : 10 ~ 09 : 30

오늘 문제도 쉬워서 금방 풀었당~~

다른 사람 풀이를 보면서는 distinct()라는 함수로 배열이나 리스트의 중복을 제거해줄 수 있다는걸 배웠당~


스탠다드 반 과제

⏲️10 : 20 ~ 13 : 20

튜터님한테 질문

일단 어제 궁금했던 것들을 물어보러 갔다옴!

질문 정리

Q1. 위에 버튼들 (전체, 음악, 팟캐스트) 를 스크롤안되고 상단에 고정되게 하는방법

A1. 그 버튼들을 스크롤뷰에서 빼주면 됨.

그리고 저런 UI는 Button보다 Chip 이라는걸 알아보고 사용하는게 더 좋아보임!

Q2. 지금 코드 1000줄이 넘어가는데 이렇게 하는거 맞는가

A2. 지금은 리사이클 뷰나 프래그먼트 같은거 없이 작성하는거라 당장 단계에서는 이렇게 하는게 맞다. 나중에 저것들을 각각의 레이아웃으로 따로 빼주고 하면 간단해질것

상단 버튼들 Chip으로 변경하고 스크롤뷰 밖으로 빼주기

튜터님이 알려주신대로 상단 버튼들을

스크롤뷰 밖으로 빼서 스크롤하더라도 항상 상단에 보이도록 하고,

Button → Chip으로 변경해줌

  • 트러블 슈팅

    Button → Chip으로 변경할 때

    적용 테마를 Material로 바꾸는 과정에서 생긴 문제

    1. 어제 버튼 색상을 변경하기위해서 적용 테마를 Meterial → AppCompat으로 바꿨었는데, Chip을 사용하려고보니 각각의 Chip앞에 체크박스가 있는데 그게 지워지질 않음

    2. 열심히 검색해서 해결방법대로 해봐도 적용안됨.

    3. 더 찾아보니 AppCompat에서는 Chip의 속성이 제대로 적용되지 않을 수 있다고함

    4. 그래서 다시 Theme을 Meterial로 바꿔줌

    5. 그랬더니 버튼 색상이 또 안먹음

      시도해본 것들

    6. 컬러값을 value에 지정해서 안하고 그냥 절대값으로 해서 그런가? 하고 color를 따로 지정해봄

      → 소용 없음

    7. buttonstyle을 하나 만들어줌

          <style name="profile_button"
              <item name="android:background">@drawable/button_shape_profile</item>
              <item name="fontFamily">@font/gotham_bold</item>
              <item name="android:textColor">@color/black</item>
              <item name="android:textSize">20sp</item>
          </style>

      → 소용없음

    8. 2번에 backgroundTint 옵션까지 넣어봄

      → 소용없음

    9. 만든 버튼 스타일을 Theme에 넣어봄

      →소용없음

    10. 그 외 이것저것..

      해결한 방법

      스타일에 parent로 내가 지금 적용한 테마를 주고,

      backgroundTint옵션을 @null 로 설정함!!!!!!

          <style name="profile_button" parent="Widget.MaterialComponents.Button">
              <item name="android:background">@drawable/button_shape_profile</item>
              <item name="backgroundTint">@null</item>
              <item name="fontFamily">@font/gotham_bold</item>
              <item name="android:textColor">@color/black</item>
              <item name="android:textSize">20sp</item>
          </style>

Chip 선택한애만 초록색으로 표시되게 만들기

chip이 알아야될게 은근 있는 느낌이라 자세하게 당장 완벽하게 파악하기는 쫌 빡세보임..아직 갈길이 머니까 일단은 당장 필요한 기능만 찾아서 했음

  1. 선택했을때 색상이 변경되는 칩의 종류를 파악

    해당 칩을 선택하면 색상이 변경되려면 filter 라는 종류를 사용해야함

    그래서 chipGroup 에 style로 필터칩을 적용해줌

  2. selector를 사용해서 선택됐을때의 색상과 아닐때의 색상을 지정하는 xml 파일을 만들어줌

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_checked="true" android:color="@color/green"/>
        <item android:state_checked="false" android:color="#252525"/>
    </selector>

    이런식으로 selector에서 아이템 속성? 을 state_checked로 해주면 된다.

    그리고 drawable 폴더가 너무 지저분해지는 것 같길래 res/color 폴더를 만들어줌

  3. chip style에서 selector로 텍스트와 배경색 설정

        <style name="CustomChipStyle" parent="Widget.MaterialComponents.Chip.Filter">
            <item name="chipBackgroundColor">@color/chip_background</item>
            <item name="android:textColor">@color/selector_chip_text</item>
            <item name="chipMinHeight">40dp</item>
            <item name="chipStartPadding">10dp</item>
            <item name="chipEndPadding">10dp</item>
            <item name="chipIconVisible">false</item>
            <item name="closeIconVisible">false</item>
            <item name="checkedIconVisible">false</item>
        </style>

틀에 디테일한 이미지, 텍스트 넣어주기

⏲️ 14 : 10 ~ 16 : 40

틀은 대충 끝난 것같아서 디테일하게 이미지랑 텍스트를 그럴싸하게 넣어줬다.

거짓말로 상대를 가장 속이기 쉬운 방법은 진실을 섞는것..

진짜 내 플리에 있는 것들과.. Hyang을 섞어서…

마치 Hyang이 종내 유명해서 스포티파이에서 추천아티스트로 띄워주는 거마냥 만들었당.

스크롤 잘되고.. 칩 클릭 잘되고~!

리아나 도자캣 어스윈드앤 파이어 사이에 향 잘들어가고~!

그럴싸하게 만들어졌당~!

나와의 싸움에서 진 부분

  1. 추천 스테이션에서 원래 틀만 만들고 레이아웃으로 직접 배치해서 하려고했는데,,,노가다 작업너무 힘들어서 그냥 일러스트로 만들어서 이미지로 넣어버림 ㅎ.ㅎ 편하다
  2. 내가 즐겨듣는 믹스에서 원래 저 프레임? 색이 계속 바뀌는데 핑크색이 예뻐서 그냥 핑크로 통일함
  3. 마지막에 Hyang 라디오 같은게 몇개 더 있어야하는데 어차피 복붙인데 그럴 필요 있을까 ..? 자기합리화하고 한개만 넣음!
  4. 마지막 Hyang 라디오에 위쪽에 살짝 검은색으로 그라데이션 넣어야 실제랑 더 비슷한데.. 귀찮아서 안함.

오리너구리 월드 과제 제출

⏲️16 : 40 ~ 17 : 00

마지막으로 깃허브 설정 확인하고..

깃언제마지막으로 푸시했는지 기억안나서 그냥 한번 더 푸시하고

잘 돌아가는지 확인하고 과제를 제출했다!

맨날 과제 선택구현 마지막은 못 구현하고 제출했는데 드디어 선택구현까지 다 해서 제출했당

짱뿌듯함~!


스탠다드반 과제에 사용한 기술, 이유, 등등 정리

⏲️ 17 : 00 ~ 17 : 30

일단 개인 노션에 과제 뽐내기? 무조건 해야되는건진 모르겠지만 혹시 모르니까 일단 대충

사용한 레이아웃 , 위젯, 그 외 기술 종류들과 내가 사용한 이유를 간단하게 정리함.

그리고 약간 아예 다른거 시작하기에는 지금 시간이 애매해서 과제에서 더 손봐야할 곳들을 찾아서 정리함

흐린눈하고 넘길 수 없는것

  1. 하단 네비게이션바? 하는 방법 알아내서 넣어야함
  2. 제일 밑에 Hyang 라디오부분에 위에 검은색 투명 그라디언트 추가해야함
  3. Hyang 라디오 부분에 플레이리스트 미리듣기 버튼 양옆 패딩 값 줄이고, 투명도 조절

흐린눈하면 넘길 수 있지만 흥이난다면 할 것

  1. 각 카테고리? 별로 플레이리스트 개수가 3개씩만 넣었는데 너무 적음. .더 늘리는 반복 작업을할까말까~
  2. 내가 즐겨듣는 믹스에 프레임? 색깔 다양하게 수정할까말까..
  3. 추천 스테이션 이미지에 넣은 로고가.. 너무.. 작음.. 키울까 모른척 할까..
  4. Hyang 라디오에 있는 케밥메뉴 아이콘이랑, 플러스 아이콘이 하얀색이여야하는데 회색임 ..ㅎ
  5. 프로필 버튼 색이 너무 찐핑 좀더 연해야함
  6. chip 선택할때 셋중에 하나만 선택되게 해야하는데 지금 그냥 누르는대로 다선택됨 미쳣나
profile
오리너구리입니다

0개의 댓글