본문 바로가기

전체 글185

[Android/Kotlin] ImageView scaleType 속성 # scaleType = "Center"이미지의 크기와 비율을 유지하며 이미지의 중앙을 ImageView의 중심에 맞춤 # scaleType = "centerCrop"이미지의 비율을 유지하며 가로, 세로 중 짧은 쪽을 ImageView에 꽉차게 출력 # scaleType = "centerInside"이미지의 가로, 세로 중 긴쪽을 imageView의 레이아웃에 맞춰 출력한다.이미지의 비율을 유지하되며 남은 공간은 background 색으로 채워진다.fitCenter와 달리 이미지가 ImageView보다 작을 경우 크기가 유지됨 # scaleType = "fitCenter"이미지의 크기가 ImageView보다 작다면 ImageView의 크기에 따라 달라짐 # scaleType = "fitXY".. 2024. 4. 12.
[Android / Kotlin] Intent로 Class 값 넘기기 (Serializable, Parcelable, Parcelize) 일반적으로 intent를 사용해서 넘겨주면 데이터를 하나하나씩 넘겨줘야되기때문에 코드가 길어지고 효율성도 안좋다 그래서 보통 데이터를 클래스형태로 만들어서, 그 클래스를 한방에 넘겨주는 직렬화 방식을 사용한다!코틀린에서 직렬화를 통해 값을 전달하는 방법은 Serializable, Parcelable, Parcelize 이렇게 3가지가 있다 # Serializabledata class Product( val id : Int, @DrawableRes val image : Int, val name : String, val area : String, val price : Int, val comment : Int.. 2024. 4. 12.
[Android/Kotlin] Fragment간 데이터통신(데이터전달) Fragment간 데이터 전달하는 방법에 대한 기본적인 개념과 간단한 예제는 아래 블로그에다가 정리를 해뒀었다https://coding-juuwon2.tistory.com/256 [Android] Fragment간 데이터통신 방식1. FragmentManager에 Bundle로 Data를 담아 전달 //PassBundleFragment는 본인이 전달하고자 하는 Fragment class val bundle = Bundle() bundle.putString("key", "value") val passBundleBFragment = PassBundleBFragment() passBundleBFragment.argumencoding-juuwon2.tistory.com 이번에는 예제를 통해 직접 코드를 짜보.. 2024. 4. 12.
[Android / Kotlin] Recyclerview에 구분선 표시 리사이클러뷰에 구분선을 표시하고싶다면 아래와같이 DividerItemDecoration을 사용해서 작성해주면된다// 리사이클러뷰 구분선 표시with(binding.RecyclerView){ val decoration = DividerItemDecoration( context, LinearLayoutManager(this@MainActivity).orientation ) addItemDecoration(decoration)} 리사이클러뷰 아이템마다 구분선이 잘 표시되고 마지막 아이템에는 구분선이 표시가 안되는것을 확인할 수 있다 # 참고자료https://odomm.tistory.com/entry/Kotlin-%EC%95%88%EB%93%9C%EB%A.. 2024. 4. 11.
[Android/Kotlin] 어댑터 콜백을 위한 Lambda 함수 전달 # 어댑터 클릭리스너를 람다로 표현하기 어댑터에서 파라미터에 private val onClick : (Flower) -> Unit 이렇게 작성해준다Unit은 반환 유형을 지정하지 않는 경우 기본적으로 Unit이 되고, 코틀린에서 값을 반환하지 않음을 의미한다 그리고 viewHolder에서 init을 사용해서 아이템 클릭리스너를 설정해준다[invoke는 마치 함수인 것처럼 호출할 수 있도록 한다. (Flower) -> Unit를 호출하는 데 사용된다]// 클릭 이벤트(onClick)class FlowersAdapter(var flowerList : List, private val onClick : (Flower) -> Unit) : RecyclerView.Adapter() { // 화면(레이아웃.. 2024. 4. 10.
[Android/Kotlin] Activity, Fragment간 데이터 주고받기 일단 아래와같이 MainActivity에 버튼 두개를 만들고, Frag1버튼을 누르면 FirstFragment로 이동, Frag2버튼 누르면 SecondFragment로 이동하도록 코드는 미리 짜놨고 여기서는 데이터를 전송하고 받는 부분만 작성해볼것이다 # Activity -> Fragment 데이터 전달 newInsatance함수를 따로 만들어서 하는방법과그냥 Bundle을 사용하여 데이터를 전달하는 방법 2가지를 사용해서 해볼것이다 기본적으로 저 버튼들이 MainActivtiy에 있는 버튼들이므로, 저 버튼을 클릭했을때 Fragment로 값을 전달하고, Fragment에서는 값을 받아와서 text로 뿌려주는 작업을 해볼것이다 1) newInsatance함수를 따로 만들어서 하는방법 # Activit.. 2024. 4. 10.