안드로이드 코틀린168 [Kotlin][Android] BottomSheetDialogFragment 구현해보기 gradle implementation 'com.google.android.material:material:1.1.0' MainActivity class MainActivity : AppCompatActivity() { private lateinit var bottomSheetBtn: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) bottomSheetBtn = findViewById(R.id.bottom_sheet_btn) val bottomSheetDialogFragment = TestBottomSheetDial.. 2022. 6. 22. [Kotlin][Android] 디바이스 전체 화면 길이 구하기 안녕하세요. 오늘은 상태바(status bar, navigation bar 등)를 포함한 디바이스 전체 화면의 가로, 세로 길이는 구하는 방법을 알아보겠습니다. // top & bottom navigation bar 를 포함한 디바이스 화면의 가로,세로 길이 얻기 private fun getScreenSize(context: Context): IntArray { val screenDimensions = IntArray(2) // width[0], height[1] val orientation = context.resources.configuration.orientation //세로모드인지 가로모드인지 판별 val wm = context.getSystemService(Context.WINDOW_SERVIC.. 2022. 6. 18. [Kotlin][Android] Lambda 사용해서 계산 기능 만들기 안녕하세요. 이번 시간에는 람다식을 사용해서 계산 기능을 만들겠습니다. 그동안 함수를 매개변수로 넘기고 싶은데, 람다식에 대해서 모르면, 번거롭게 인터페이스를 만들어서 하셨을 겁니다. 이제 그러시지 않으셔도 됩니다. 이번 시간에 만들 것은 더하기, 빼기, 곱하기 등 단일 연산을 하는 계산기를 만들겠습니다. 그런데 부호를 누르면 계산이 되는 것이 아닌, 부호를 선택하고 계산하기를 눌러야 계산이 되게 하겠습니다. activity를 하나 생성합니다. layout입니다. acitivty입니다. 람다식 정의 방법은 쉽습니다. (매개변수) -> 결과 (없는 경우 Unit)입니다. 예를 들어 int 2개를 받아서 결과값이 String인 함수형은 (Int, Int) -> String 로 두시면 됩니다. class Ma.. 2022. 6. 13. [Java][Android] circle-menu 만들기 Gradle 추가 implementation 'com.ramotion.circlemenu:circle-menu:0.3.2' res\values\buttons.xml @drawable/ic_home_white_24dp @drawable/ic_search_white_24dp @drawable/ic_notifications_white_24dp @drawable/ic_settings_white_24dp @drawable/ic_place_white_24dp @android:color/holo_blue_light @android:color/holo_green_dark @android:color/holo_red_light @android:color/holo_purple @android:color/holo_orange.. 2022. 6. 12. [Kotlin][Android] 오늘 요일 알아오기 오늘이 무슨 요일인지 알고 싶을 때 사용하면 좋을 것 같습니다. val today: String? = doDayOfWeek() 아래와 같이 함수로 구현한 후 변수로 선언에서 사용해 보세요. private fun doDayOfWeek(): String? { val cal: Calendar = Calendar.getInstance() var strWeek: String? = null val nWeek: Int = cal.get(Calendar.DAY_OF_WEEK) if (nWeek == 1) { strWeek = "일" } else if (nWeek == 2) { strWeek = "월" } else if (nWeek == 3) { strWeek = "화" } else if (nWeek == 4) { st.. 2022. 6. 11. [Kotlin][Android] ViewModel 공유하기 액티비티 위에 프래그먼트가 띄워져있는 상황에서 뷰모델을 공유할 상황이 생긴다. 기존의 viewmodel을 생성할때 private val searchViewModel: SearchViewModel by viewModels() 이렇게 생성했다. 하지만 이렇게 생성하게 되면 fragment에 종속된다. 다른 fragment와 공유하고 싶다면 viewmodels()대신 private val searchViewModel: SearchViewModel by activityViewModels() 이렇게 설정해햐 한다. 이 경우 프래그먼트들의 부모가 되는 액티비티의 뷰모델을 공유하게 됨으로 한 액티비티에서 파생된 프래그먼트들 끼리는 뷰모델을 공유할수 있고 데이터를 공유하게 된다. 당연히 2개의 프래그먼트에서 1개의 뷰.. 2022. 6. 10. [Kotlin][Android] 도움말 도움말은 사용자가 보기를 길게 누르거나 마우스를 올려놓으면 보기 근처에 표시되는 작은 설명 메시지입니다. 이 기능은 레이아웃의 공간을 절약하기 위해 앱에서 아이콘을 사용하여 작업이나 정보를 표시할 때 유용합니다. 이 페이지에서는 Android 8.0(API 수준 26) 이상의 도움말을 추가하는 방법을 설명합니다. 생산성 앱과 같은 시나리오에서는 아이디어와 작업을 교환하는 설명적인 메서드가 있어야 합니다. 그림 1에 표시된 대로 도움말을 사용하여 설명 메시지를 표시할 수 있습니다. 일부 표준 위젯에서는 title 또는 content description 속성의 콘텐츠를 기반으로 도움말을 표시합니다. Android 8.0부터 다른 속성의 값에 관계없이 도움말에 표시되는 텍스트를 지정할 수 있습니다. 위와 같.. 2022. 6. 7. [Kotlin][Android] 2개의 배열 하나로 합치기 코틀린에서 2개 이상의 배열을 하나로 합칠 때 다음 방법들을 사용할 수 있습니다. Plus Operator Spread Operator Java의 System.arraycopy() 예제를 통해 2개의 배열을 하나로 합치는 방법을 소개하겠습니다. 1. Plus 연산자로 배열 합치기 다음과 같이 + 연산자를 이용하면 두개 배열을 하나로 합친 배열을 생성할 수 있습니다. fun main(args: Array){ val array1 = intArrayOf(1, 2, 3) val array2 = intArrayOf(4, 5, 6) val result = array1 + array2 println("result : ${result.contentToString()}") } Output: result : [1, 2, .. 2022. 6. 3. [Kotlin][Android] fragment navigation 라이브러리 처음에 module gradle 에 'kotlin-android-extensions' 를 추가해준다. plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-android-extensions' } MainActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } } FirstFragment class FirstFragment : Fragment() {.. 2022. 5. 31. 이전 1 ··· 4 5 6 7 8 9 10 ··· 19 다음