TIL - 220315

cherrylime69·2022년 3월 16일
0

TIL

목록 보기
18/18
post-thumbnail

TIL

10:00 ~ 18:00 미션 수행

View의 크기 구하는 방법

  1. View에서 View.width, View.height를 통해 구할 수 있다.
  2. 하지만 Activity 에서 onCreate() 에서는 View가 모두 생성되지 않기 때문에 위의 함수를 이용하면 0이 나온다
  3. 그래서 있는 함수가 View.viewTreeObserver로 말그래도 viewTree (view의 계층도)를 옵저버하는 함수
  4. 해당 함수를 통해 액티비티에서 inflate한 모든 view가 생성되었을 때 알려줘, 특정 기능을 수행하도록 했다
customView.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
            override fun onGlobalLayout() {
                val rectMaxPoint = customView.getViewSize()
                presenter.setInitRectSizeAndMaxPoint(getInitRectSize(150f, 120f), rectMaxPoint)
                customView.viewTreeObserver.removeOnGlobalLayoutListener(this)
            }
        })
  1. view과 생성되면 크기를 구하는 함수를 구현

22:00 ~ 24:00 정렬 알고리즘

코틀린에서 Map의 key 또는 value를 기준으로 정렬

  1. key를 기준으로 정렬
  • 간단하게 map.toSortedMap() 을 하면 key를 바탕으로 오름차순으로 정렬된 map을 반환
  1. value를 기준으로 정렬
    1. 먼저 map을 toList()를 통해 list로 변경. 그러면 Pair<K,V> 리스트가 된다
    2. list.sortedBy {it.second} 로 value를 통해 정렬
    3. .toMap() 을 통해 다시 map 타입으로 전환
      input = input.toList().sortedBy{it.second}.toMap().toMutableMap()
profile
개발자 일기

0개의 댓글