반응형

안드로이드 55

[Kotlin] FrameLayout을 이용하여 겹치게 배치하는 방법

최근에 View의 배치를 하는데, 아래와 같은 부분이 있었습니다. 왼쪽에 보이는 "테"라는 TextView와 "30일"일 이라는 TextView가 겹쳐져야 하는데 이를 위해서 어떻게 할 수 있을까요? 답은 FrameLayout에 있습니다. ※ 처음 아이콘 처럼 되기 위해서는 style이나 background 등을 조정하여 맞춰주어야겠지만, 겹쳐보이기 위한 최소한의 위치 조정을 위와 같이 적용하면 되기 때문에 적용하지 않았습니다. 속성 내용 layout_width 해당 View의 너비 (match_parent인 경우 부모 View인 FrameLayout 너비 만큼 지정) layout_height 해당 View의 높이 (match_parent인 경우 부모 View인 FrameLayout 높이 만큼 지정) t..

[Kotlin] TextView와 EditText에 텍스트를 입력하는 방법

0. 미리보기 // TextView findViewById(R.id.tvTitle).text = "안녕하세요" // EditText findViewById(R.id.etTitle).setText("안녕하세요") 1. TextView TextView에서는 조회한 뷰 클래스에 text 값을 입력해주면 됩니다. findViewById(R.id.tvTitle).text = "안녕하세요" 2. EditText EditText의 경우 TextView 처럼 텍스트를 입력하면 아래와 같은 오류가 발생합니다. EditText에서 text는 Editable이 입력되어야 하기 때문인데, 이 경우 당황하지 말고 그냥 setText를 써주면 해결됩니다. findViewById(R.id.etTitle).setText("안녕하세요..

[Kotlin] "ContentValues"에 Null값 입력 방법 (putNull)

SQLite에서 데이터 입력시에 ContentValues가 필요합니다. val dbHelper:DBHelper = DBHelper(context, "DB명", null, 1) val database:SQLiteDatabase = dbHelper.writableDatabase val contentValues = ContentValues() contentValues.put("title", "[Kotlin] ContentValues putNull") contentValues.put("contents", "글 메모입니다.") database.insert("테이블명", null, contentValues) 위는 기본적으로 테이블에 insert하는 로직입니다. 이를 수행하면, title / memo가 "테이블명"이..

[Kotlin] Depreciated된 "registerForActivityResult" 해결 방법

오랜만에 안드로이드 개발을 하려고 보니, startActivityForResult가 Deprecated가 되었습니다. 그러면 어떻게 동일한 결과를 받아 와야 할까 하고 찾아보니 registerForActivityResult를 선언하여 사용하는 방법입니다. 1. Callback 변수 생성 // Callback 변수 private val callback = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> when (result.resultCode) { RESULT_OK -> { // TODO } } } registerForActivityResult로 callback 변수를 생성해줍니다. 2. Acti..

[Kotlin] "Floating Action Button" 사용하는 방법

1. Floating Button이란? 앱에서 흔히 보이는 화면 위에 둥둥 떠있는 버튼을 보곤 합니다. 앱 위에 둥둥 떠있어서 그런지 Floating Button이라고 하기도 하는데, 이는 Material Design을 이용해서 쉽게 지정해 줄 수 있습니다. 2. build.gradle (app) 설정 ... dependencies { ... implementation 'com.google.android.material:material:' ... } material을 연결해 줍니다. 3. layout xml에 호출 ... 여기서 주의할 부분이 xmlns에서 정의한 app 부분입니다. 기본적으로 생성 시에 아래와 같이 정의되어있다 보니, 그냥 FloatingActionButton 속성에 app 속성을 넣으..

[Kotlin] "For Loop"를 사용하는 방법

// 기본 문법 #1 for (i in 1..n) { // TODO } // 기본 문법 #2 for (item in list) { // TODO } 1. 기본 문법 #1 특정 숫자까지의 반복문을 사용하고 싶은 경우 아래와 같이 사용 가능합니다. 만약 2000년부터 2023년까지의 연도를 출력하고 싶은 경우 for (year in 2000..2023) { Log.d("TAG", "this year is $year") } 위와 같이 2000년부터 2023년까지 출력됨을 확인할 수 있습니다. 만약 역순으로 출력하고 싶다면 아래와 같이 출력 가능합니다. for (year in 2023 downTo 2000) { Log.d("TAG", "this year is $year") } 또한, 2년 단위로 출력하고 싶은 ..

[Kotlin] 네이버 맵 api에서 지도 이동하는 방법

val cameraUpdate = CameraUpdate.scrollTo(LatLng(위도, 경도)) naverMap.moveCamera(cameraUpdate) Kotlin에서 NaverMap을 사용하는 경우, 지도의 위치 이동은 카메라 객체를 통해서 이동하게 됩니다. naverMap은 아래와 같이 onMapReady를 통해서 가져올 수 있습니다. class CustomActivity : AppCompatActivity(), OnMapReadyCallback { ... private lateinit var naverMap : NaverMap ... /** * @description Naver Map이 준비된 경우 */ override fun onMapReady(naverMap: NaverMap) { t..

[Kotlin] drawable resource 불러오기

val image: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.bg_metal) 만약 아래와 같이 app > src > res > drawable에 있는 이미지 파일(bg_metal.png)을 불러와 사용하는 경우 Java source의 경우 아래와 같이 Bitmap으로 불러와 사용 가능하며 Bitmap image = BitmapFactory.decodeResource(context.getResources(), R.drawable.bg_metal); Kotlin의 경우 아래와 같이 호출하여 사용 가능합니다. val image: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.bg_m..

[Kotlin] RGB to COLOR

Color.parseColor("#5C00D8") Color.parseColor("RGB색상 값") 2023.02.11 - [개발 창고/안드로이드 개발] - [Kotlin] Paint - Line [Kotlin] Paint - Line // Step. 라인의 스타일 지정 val lineStyle = Paint().apply { color = Color.parseColor("#5C00D8") // 라인 색상 style = Paint.Style.FILL // 라인 스타일 strokeWidth = 100f // 라인 굵기 strokeCap = Paint.Cap.ROUND // 라인 끝 부분 둥 royzero.tistory.com 이전 글 기준으로 색상을 적용해 보면 아래와 같은 결과를 확인할 수 있습니다.

반응형