NOW OR NEVER

[Android] Compound Component 본문

Android

[Android] Compound Component

LAURA 2023. 6. 12. 17:47
반응형

Compound Component

  • CompoundComponent : toggleButton, checkBox, RadioButton, Switch, checkedTextView, chip

Buttons

toggleButton

  • toggle해서 보여주는 것이 목적
  • 주요 속성
    • text : on/off 공통상태일 때의 문자열
    • textOn : on 상태일 때의 문자열
    • textOff : off 상태일 때의 문자열
  • 함수
    • isChecked : 토글 버튼의 ON(true)/OFF(false) 상태를 가져온다.
    • toggle : 토글 상태 반전

Switch

  • 주요 속성
    • text : switch 좌측에 나타나는 문자열
    • textOn : on 상태일 때의 문자열
    • textOff : off 상태일 때의 문자열
    • shortText: textOn/Off 문자열 보여 줄 것인가
    • thumb : 버튼 이미지(switch 동그란 부분: 조정하는 부분)
    • track : 트랙 이미지(swtich 버튼이 지나다니는 부분)
  • 함수
    • isChecked : 스위치 버튼의 ON(true)/OFF(false) 상태를 가져온다.
    • toggle : 스위치 상태 반전

Chip

  • 인터페이스가 깔끔하다.
  • 주요 속성은 radio와 동일하다.
  • chipGroup 안에 들어간 chip 들은 radio, chipGroup으로 안묶은 chip들은 checkBox라고 생각하면 된다.
  • radio랑 checkBox랑 동일한테 보이는 디자인만 다르다고 생각하면 된다.
  • chipGroup
    • buttons - chipGroup으로 묶어주면 라디오 버튼 처럼 사용 가능하다.
    • singleSelection : chipGroup 안에 있는 chip들 중 하나만 선택 가능하게 해서 라디오처럼 쓸 수 있다.
    • checkedChip : 시작할 때 선택되어 있을 chip 선택
  • 주요 속성
    • style : chip 모양 설정, 생략시 Action, Choice, Entry, Filter
      • 쓰고 싶은 거 사용 하면 된다.
      • @style/Widget.Material3.Chip.Input
      • @style/Widget.MaterialComponents.Chip.Filter
      • @style/Widget.Material3.Chip.Filter.Elevated : Elevated(안드로이드에서는 공중에 떠 있다는 의미로 사용)
      • @style/Widget.MaterialComponents.Chip.Choice
      • @style/Widget.MaterialComponents.Chip.Entry
    • checkable : 체크 가능하게 하는 것
    • text : 표시 할 문자열
    • chipIcon : chip에 표시할 아이콘
    • checkedIcon : 선택 되었을 때의 아이콘
    • checkedIConVisible : 선택 되었을 때 아이콘 표시할 것인가
    • gravity : 내부 정렬
    • layout_gravity : 외부에서의 자신 정렬

Text

checkedTextView

  • checkBox와 radioButton의 동작 부분이 구현이 안되어 있는 것이라고 생각하면 된다.
  • 어떠한 기능도 구현되어 있지 않은 상태이기 때문에 checkBox나 radioButton 등 처럼 돌아갈 수 있도록 하기 위해선 기능을 직접 구현해 줘야 한다.
  • 주요 속성
    • checkMark: 체크 상태를 표시하는 아이콘 설정(네모, 동그라미 등)
      • listChoiceIndicatorMultiple : 네모, 체크박스 버튼 처럼 생김
      • listChoiceIndicatorMultiple : 동그라미, 라디오 버튼처럼 생김
    • clickable : clickable를 true 설정을 해야만 이벤트에 반응하게 만들 수 있다. 설정 하지 않으면 그냥 textView 이다(반드시 설정)
    • text : 표시 할 문자열
    • drawble(+Left/Right/Top/Bottom) : 좌/우/상/하에 표시 할 이미지
  • 함수
    • isChecked : checkedTextView의 체크 상태를 가져온다.
    • toggle : 현재 상태 반전

Widget

progress Bar

  • 종류 : vertical, horizontal
  • 주요 속성
    • style : 모양. 크기 혹은 bar 형태
    • max : 최대 값
    • progress : 현재 값
    • progressTint : 현재 진행된 정도의 색상

seek bar

  • 숫자 조절 바
  • 좌우로 왔다갔다하면서 맞추는 바
  • 주요 속성
    • style : 모양. 크기 혹은 bar 형태
    • max : 최대 값
    • progress : 현재 값
  • listener
    • onSeekBarChangeListener
      • 고차함수 지원 안함
      • 아래와 같이 작성
        setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { 
            //프로그래스바 변경됐는 지 감지
            override fun onProgressChanged( seekBar: SeekBar?, progress: Int, fromUser: Boolean ) { 
                TODO("Not yet implemented") 
            } 
            override fun onStartTrackingTouch(seekBar: SeekBar?) { 
                TODO("Not yet implemented") 
            } 
            override fun onStopTrackingTouch(seekBar: SeekBar?) { 
                TODO("Not yet implemented") 
            } 
        })

rating bar

  • seek bar의 모양을 별처럼 나오게 하는 것
  • 주요 속성
    • style : 모양(크기가 조절된다)
    • numStarts : 별의 개수
    • rating : 현재 값
    • stepSize : 설정할 별 값 단위
    • isIndicator : 사용자 설정 가능 여부


View

  • visibilty : 보이게 할 것인지 아닌지
    • 안보일 때도 자리를 차지 하는 가 중요
    • View.visible : view가 보이도록
    • View.invisible : view가 안보이게 설정, 자리를 차지한다.
    • View.GONE : view가안보이게 하는 데 자리도 차지 하지 않는다.

etc

  • lateinit var imm:InputMethodManager 이렇게 선언해놓고 사용하기도 한다. : 할 때마다 매번 받아서 써도 됨
  • windowToken : 내부적으로 안드로이드 OS가 관리하는 값

'Android' 카테고리의 다른 글

[Android] View3 - Adapter  (0) 2023.06.14
[Android] UI 요소 - View 2  (0) 2023.06.14
[Android] UI 요소 - View  (0) 2023.06.11
[Android] LogCat & UI 요소 - Widget  (0) 2023.06.08
[Android] UI 요소  (1) 2023.06.07
Comments