중급 2.오늘의 명언

mangyun·2021년 12월 2일
0

중급 앱개발

목록 보기
2/2

정리

UI

android:gravity="right|center_vertical"
app:layout_constraintVertical_chainStyle="packed"

상태바 없애고, 색 반전

<item name="android:windowLightStatusBar">true</item>

명언이 6줄 넘어가면 ... 표시

android:maxLines="6"
android:ellipsize="end"

ViewPager2 - ViewPager1보다 개선된 버전

gradle Module dependencies의  implementation 'com.google.android.material:material:1.4.0'

progressBar - 로딩이 길어질 경우

 remoteConfig.fetchAndActivate().addOnCompleteListener { //remoteConfig가 fetch를 완료하는것
            progressBar.visibility = View.GONE

remote config

별도로 업데이트 할 필요없이, 동작을 변경할 수 있음

google service 파일을 gradle에 넣고, gradle project dependencies에서

classpath "com.google.gms:google-services:4.3.5"

plugins id를 추가한 뒤 여기 dependencies

implementation platform('com.google.firebase:firebase-bom:29.0.0') //알아서 호환성이 맞는 버전을 사용하게 함
implementation 'com.google.firebase:firebase-config-ktx' //이 프로젝트에 필요한 원격구성 의존성
implementation 'com.google.firebase:firebase-analytics-ktx' //기본 셋업

json(java script object notation)

경량화된 데이터교환 방식
이름과 값으로 구분, 배열로도 표현이 가능

못했을때 보여줄만한 기본값이 없기 떄문에
실무에서는 setDefultAsync는 많이 사용하지만, 여기서는 안함

뷰페이저에 전환효과

    viewPager.setPageTransformer { page, position -> //kotlin이라 lambda로 가능
        when {
            position.absoluteValue >= 0.5F -> { //절댓값으로 표현한, 화면 좌우 0.5칸 밖인경우
                page.alpha = 0F //투명하게
            }
            position == 0F -> { //화면중앙이라면
                page.alpha = 1F //완전히 보이기
            }
            else -> { //화면 중앙에서 좌우 0.5칸 안인경우
                page.alpha = 1F - 2 * position.absoluteValue

            }
        }
    }

무한 스크롤

override fun getItemCount() = Int.MAX_VALUE //최대 int만큼

override fun onBindViewHolder(holder: QuoteViewHoler, position: Int) {
        val actualPosition = position % quotes.size //실제 위치에서 명언 갯수로 나누게 되면 해당위치의 값을 넣을 수 있음
        holder.bind(quotes[actualPosition], isNameRevealed) //해당 위치의 명언을 가져옴
    }

 //부드럽게 넘어가는 스크롤은 안되게, maxValue값의 반만큼 좌우로 뷰갯수 생성
        viewPager.setCurrentItem(adapter.itemCount / 2, false)
profile
기억보다는 기록을 하자.

0개의 댓글