Kotlin/TIL

TIL (04.03)

내손은개발 🐾 2024. 4. 3. 21:42

CodeKata


 

 

[프로그래머스_Kotlin] 카펫

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 Leo

rlawog.tistory.com

 

 

 

팀 프로젝트


1. animation

어제 만든 animation 코드를 수정했다.

minSDK가 하나 낮아져서 33이 되었는데

내가 사용한 overrideActivityTransition은 34이상일 때만 가능해서

33이하 버전인 overridePendingTransition도 넣어줘야한다.

 

간단히 if문으로 Build.VERSION.SDK_INT >= 34과 else로 나머지 부분으로 코드를 수정했다.

    private fun animationOpen() {
        if (Build.VERSION.SDK_INT >= 34) {
            overrideActivityTransition(OVERRIDE_TRANSITION_OPEN, R.anim.slide_right_enter, R.anim.slide_none)
        } else {
            overridePendingTransition(R.anim.slide_right_enter, R.anim.slide_none)
        }
    }

 

 

2. 더보기 기능

sns를 제작함에 있어서 게시글의 길이를 아무래도 제한을 둬야한다.

maxline, ellipsize를 뒀는데 게시글이 길면 '...'으로 표시된다.

그러면 못보는건 아쉽잖아...

textView로 더보기를 넣었다.

<TextView
	android:id="@+id/tvMore"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	app:layout_constraintTop_toBottomOf="@id/tvTitle"
	app:layout_constraintStart_toStartOf="@id/tvTitle"
	android:text="더보기"
	android:visibility="gone"
	android:textStyle="italic"
/>
    private fun setViewMore() {
        val tvTitle = binding.tvTitle //게시글
        val tvMore = binding.tvMore //더보기
        tvTitle.post {
            val lineCount = tvTitle.layout.lineCount
            if (tvTitle.layout.getEllipsisCount(lineCount - 1) > 0) {
                // getEllipsisCount는 textView에서 ellipsis를 설정한 경우 생략부호의 수를 반환하는 것입니다.
                // 위에 코드는 ellipsize인지 아닌지 확인하는 코드입니다.
                tvMore.visibility = View.VISIBLE // <더보기 보이기 (짧은 글에는 보일 필요가 없어서 넣었습니다.)
                tvMore.setOnClickListener {
                    if (tvMore.text == "더보기") {
                        tvTitle.maxLines = Int.MAX_VALUE
                        tvMore.text = "접기"
                    } else {
                        tvTitle.maxLines = 2
                        tvMore.text = "더보기"
                    }
                }
            }
        }
    }

 

 

추가적으로 다른 팀원이 작성한 코드를 읽어보았고 ListView로 메인화면을 바꿔보았다.

'Kotlin > TIL' 카테고리의 다른 글

TIL (04.05)  (0) 2024.04.05
TIL (04.04)  (0) 2024.04.04
TIL (04.02)  (1) 2024.04.02
TIL (04.01)  (0) 2024.04.01
TIL (03.29)  (2) 2024.03.29