일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- recyclerview
- Flutter
- 명심보감
- 벤자민플랭클린
- 오픈소스
- jetpack compose
- 1인개발자
- Firebase
- bash
- 공자명언
- 넷플릭스
- 파이썬
- kotlin
- 소울칼리버6
- 장자명언
- Streaming
- 공부집중
- androidx
- 좋은글필사하기
- Linux
- ASMR
- 이모지메모
- 이모지
- Freesound
- Android
- 코틀린
- FSM
- Coroutine
- 명언모음
- DART
- Today
- Total
목록Android (17)
Vintage appMaker의 Tech Blog
Android에서 Image를 사용한다면 대부분 Glide를 통해 서버에서 이미지를 가져온다. 그런데, Glide를 TextView에서 사용하려면 조금 다른 방법을 사용해야 한다. 1. 서버의 이미지를 BMP 형태로 가져온다(주로 백그라운드 형태로 실행). 2. 가져온 BMP를 BitMapDrawable으로 변환한다. 3. UIThread에서 가져온 BitMapDrawable을 대입한다. 이런 식으로 코루틴을 백그라운드에서 실행하고 그 결과를 UIThread(runOnUiThread)에서 처리하면 TextView의 배경을 서버에서 가져와 구현할 수 있다. [activity_main.xml] package com.psw.justtest import android.content.Context import a..
BottomSheetDialogFragment는 앱 하단에 팝업으로 표시해야 할 경우, 자주사용하는 클래스이다. 그런데 배경을 라운드로 처리할 경우, 투명화 처리를 해주는 것이 조금은 번거롭다. 1. onCreateDialog에서 Dialog를 받아서 2. Dialog의 setOnShowListener를 등록하며 아래와 같은 코드를 작성해주어야 한다. val bottomSheet = findViewById(com.google.android.material.R.id.design_bottom_sheet) as FrameLayout bottomSheet.setBackgroundResource(android.R.color.transparent) 그래서 다음과 같은 클래스를 구현하여 사용하면 편리하게 사용할 수 ..
Android에서 앱을 만들다보면 Vertical Progress(세로방향 프로그레스)가 필요할 때가 있다. 그런데 Progress는 세로방향을 지원하지 않는다. 그럼 그 많은 세로방향 프로그레스는 어떻게 만드는 것일까? 대부분 Android의 rotation 기능을 이용한다. 1. rotation으로 회전한다(width, height는 회전에 영향을 받지않는다) 2. translationX(Y)로 위치를 이동한다. [custom_progress.xml]
Android에서 어떤 위젯 근처의 특정 크기와 위치로 새로운 위젯을 보여주고 싶다면 PopupWindow를 생성하고 showAsDropDown()으로 특정 위젯기준으로 위치와 크기를 지정하여 화면에 보여줄 수 있다. PopupWindow | Android 개발자 | Android Developers developer.android.com 그러나 화면에 PopupWindow를 자주 사용해야 할 경우, PopupWindow 객체를 보관 후, dismiss()를 호출하는 것이 귀찮을 때다 많다. 그럴 경우, kotlin에서는 확장함수와 closure를 이용해 범용적으로 편하게(???) 사용할 수 있다. 📢 [PopupWindow 관리용 확장함수] fun View.dpToPx(dp: Float): Int = ..