본문 바로가기

안드로이드 코틀린145

[Android][kotlin] EditText Submit처럼 사용하기 안녕하세요. 오늘은 EditText 텍스트에 Enter 키를 입력받도록 적용해보겠습니다. 1. Activity를 생성합니다. 2. Activity의 레이아웃에 사용자의 input을 받을 EditText와, 결과를 나타낼 textView를 생성합니다. 3. EditText가 있는 Activity에 작성합니다. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val editText = findViewById(R.id.input) val textView = findViewById(R.id.result) editText.setOnKey.. 2022. 4. 6.
[Kotlin][Android] 안드로이드 OCR 기능 만들기 java 버전은 https://stickode.tistory.com/135 에서 확인해주세요 안녕하세요~ 오늘은 OCR(Optical character recognition) 기능을 구현해 보겠습니다. OCR는 인간이 종이 위에 써 놓은 글씨를 인지하여 텍스트 데이터로 바꿔주는 기능을 말해요. 이 포스팅에서는 스틱코드를 사용하여 글자가 들어 있는 이미지에서 글자를 인식하는 간단한 앱을 만들어보겠습니다. # 환경 세팅 1. 라이브러리 추가 ▶ 해당 기능을 사용하기 위해서는 tess-two라는 모듈이 필요합니다. 위 그림처럼 build.gaddle(moudle) 파일을 열어서 맨 아래 한 줄을 추가하고 동기화시켜줍니다. 최신 버전은 여기서 확인하실 수 있습니다. 2. Language Data 추가 ▶ 인식할.. 2022. 4. 1.
[Kotlin][Android] 키보드 보이기/숨기기 java 버전은 https://stickode.tistory.com/392 에서 확인해주세요. 이번 시간에는 키보드를 보이거나 숨겨야 할 때 사용하는 코드를 알아보도록 하겠습니다. 계획은 글을 작성할 수 있는 에딧텍스트와 키보드를 올리고 내릴 버튼을 통해서 키보드를 올리고 내려보도록 하겠습니다. 아 그리고 액티비티가 켜질 때 키보드도 같이 올라오도록 만들어보겠습니다. 해당 코드는 api 21 , api30 버전에서 테스트되었습니다. 일단 코드 먼저 복사,붙여 넣기 해주세요. activity_main.xml 붙여넣기 하실 때 주의할 부분이 있는데 EditText의 부모인 ConstraintLayout에 속성으로 android:focusableInTouchMode="true"와 android:focusabl.. 2022. 3. 20.
[Kotlin][Android] Bottom Sheet Dialog 1. Gradle(meterial design 종속성 추가) 안드로이드 기본 라이브러리에서는 Bottom Sheet 다이얼로그를 제공하지 않는다. 대신, Meterial Design 라이브러리에서 컴포넌트를 사용할 수 있다. 따라서 아래와 같이 앱 레벨 gradle 폴더에 종속성을 추가해 주자. implementation 'com.google.android.material:material:1.5.0-alpha02' 2. BottomSheet.kt BottomSheetDialogFragment를 상속 받고 inflate 해주면 된다. 추가로 하단 확인버튼이 클릭 되었을때 다이얼로그가 꺼지도록 처리했다. import android.os.Bundle import android.view.LayoutInflate.. 2022. 3. 16.
[Kotlin][Android] 글씨가 흐르는 텍스트뷰 만들기 안드로이드의 TextView의 marquee라는 속성값으로 텍스트 뷰의 전체 글자를 흐르게 할 수 있습니다. 공지사항이나 알림과 같은 것을 나타낼 때 주로 쓰기도 합니다. 0. build.gradle(Module) 추가 defaultConfig { configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' } } 1. activity_main.xml먼저 텍스트 뷰에서 글자를 흐르게 만드는 속성들을 정의한다. 우선, 앞서 언급했던 ellipsize를 marquee로 선언한다. 다음으로 singleLine과 focusable을 true로 선언한다. 이 세가지 값이 설정되어야 흐르는 효과가 처리된다. 2. MainActivity.. 2022. 3. 11.
[Kotlin][Android] 프래그먼트 커스텀 애니메이션 적용하기 안녕하세요. 이번 시간에는 Navigation Component로 Fragment간 화면을 전환할 때 Fragment의 애니메이션을 적용해보도록 하겠습니다. Navigation Component란? Navigation Component를 알기 전에 안드로이드에서 언급하는 Navigation의 뜻을 살펴보면 아래와 같습니다. Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app. _ (공식 홈페이지) 큰 의미로 Navigation이란, 사용자가 앱과 상호작용하는 것을 의미합니다. 좀 더 구체적으로 살.. 2022. 3. 9.
[Kotlin][Android] Flexbox Layout 사용해보기 java 버전은 https://stickode.tistory.com/391 에서 확인해주세요. 이번 시간에는 Flexbox Layout 을 사용해보도록 하겠습니다. Flexbox Layout 는 웹의 css 에서 사용하던 flexbox 를 안드로이드에서 비슷하게 구현한 라이브러리인데요. 예를들면, 좌측 정렬로 뷰들이 쌓이다가 우측끝에 닿았을때 다음 줄로 넘어가야하는 상황이 생길 수 있는데 그럴때 사용할 수 있어요. google 에서 만들었고, 아파치 라이센스로 사용하시는데 큰 문제 없을 것으로 보여요. https://github.com/google/flexbox-layout GitHub - google/flexbox-layout: Flexbox for Android Flexbox for Android ... 2022. 3. 8.
[Kotlin][Android] 리사이클러뷰 안에 뷰페이저 넣기 안녕하세요 이번 포스팅에선 리사이클러뷰 안에 뷰페이저를 넣어보겠습니다. 사용할 뷰페이저는 viewPager2로 리사이클러뷰를 상속받고 있기 때문에 리사이클러뷰처럼 사용하면 됩니다. 코드상의 차이점은, 리사이클러뷰는 레이아웃 매니저와 어댑터를 설정해주어야 하지만, 뷰페이저는 레이아웃 매니저 없이 어댑터만 설정해주면 된다는 것입니다. 코드는 sdk 28인 상태에서 테스트되고 뷰바인딩이 사용됩니다. Palette.kt 리사이클러뷰에 표시될 아이템 클래스 data class Palette( val name: String, val colors: ArrayList ) item_palette.xml 리사이클러뷰에 표시될 아이템 레이아웃 PaletteAdapter.kt 리사이클러뷰 어댑터 class PaletteAda.. 2022. 3. 7.
[Kotlin][Android] 간단한 중첩 리사이클러뷰 만들기 세로로 스크롤되는 리사이클러뷰A 안에 가로로 스크롤되는 리사이클러뷰B가 있는 뷰를 만들어보겠습니다. 코드는 sdk 28인 상태에서 테스트되고 뷰바인딩이 사용됩니다. 만들 것은 다음과 같습니다. 리사이클러뷰로 보여줄 아이템 클래스 리사이클러뷰A 아이템 레이아웃 리사이클러뷰A 어댑터 리사이클러뷰B 아이템 레이아웃 리사이클러뷰B 어댑터 액티비티 레이아웃 액티비티 클래스 Palette.kt data class Palette( val name: String, val colors: ArrayList ) item_palette.xml PaletteAdapter.kt class PaletteAdapter : RecyclerView.Adapter() { lateinit var items: ArrayList fun bui.. 2022. 2. 27.