본문 바로가기
728x90

💻 Programming/Android2

[Android] 갤럭시 태블릿 Dex/Desktop Mode 대응하기 기존의 DexMode가 Galaxy Tab S11을 기점으로 Desktop Mode로 이름이 변경되었습니다.Desktop Mode는 태블릿 환경에서도 데스크탑과 유사하게 앱을 실행할 수 있도록 하는 모드입니다. 앱을 실행할 경우 전체 화면이 아닌 하나의 Window로 실행이 되는데, 이 Window는 크기를 변경할 수 있기 때문에 아래와 같은 문제가 발생할 수 있습니다. 이와 같은 문제를 해결하기 위해, Window의 크기를 변경해도 풀스크린일 때의 화면 비율을 유지하도록 수정했습니다. 기본적인 방법은 다음과 같습니다.부모뷰의 높이와 너비를 기기 자체의 크기로 고정Window의 크기를 변경할 때마다 부모뷰의 scale 조정 먼저 onCreate()에서 부모뷰의 너비와 높이를 기기의 크기로 고정합니다... 2025. 9. 24.
[Android] TextView 여러 줄일 때 좌우 여백 제거 AccurateWidthTextView는 텍스트의 가로 너비를 보다 정확하게 측정하고 조정하는 커스텀 TextView 입니다. 기본 TextView는 텍스트가 좌우 여백과 함께 그려지면서 실제 텍스트 너비보다 더 넓게 측정되는 경우가 발생합니다.특히 여러 줄의 텍스트가 포함되어 있고 maxWidth가 설정된 경우, 불필요한 여백이 추가될 가능성이 큽니다.AccurateWidthTextView는 이러한 문제를 해결하여 텍스트가 실제로 차지하는 너비를 기준으로 TextView의 크기를 조정합니다.  1) onMeasure에서 불필요한 너비 제거onMeasure에서 TextView의 크기를 결정하는 과정에서 불필요한 너비를 제거합니다.override fun onMeasure(widthMeasureSpec: I.. 2025. 2. 19.
728x90