하새의 블로그
  • 홈
  • 태그
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (66)
      • 개발 공부 (63)
        • Android (31)
        • Flutter (2)
        • React (6)
        • Next.js (5)
        • CSS (1)
        • Kotlin (6)
        • Java (1)
        • PHP (3)
        • 환경 구축 (7)
        • MySQL (1)
      • 생활지식 (0)
      • 스크랩 (1)
      • SafePass (1)
      • RicorTodo (1)
  • 홈
  • 태그
개발 공부/Android

[Android Kotlin] RecyclerView 데이터 변경 시 스크롤 위치 유지하기(onSaveInstanceState(),onRestoreInstanceState() )

페이징 구현시 RecyclerView가 바닥을 인지해서 데이터가 바뀔 때 마다 RecyclerView의 focus가 계속 최상단으로 이동해서 데이터가 바뀌어도 스크롤 위치가 바뀌지 않게 하기 위해서 진행 1. 전역변수로 Parcelable 선언 및 초기화 private var recyclerViewState: Parcelable? = null 2. RecyclerView의 상태를 저장해야할 시점에 onSaveInstanceState() 호출 페이징이 시작되기 전의 상태를 저장할 필요가 있기 때문에 그 시점에 넣어주었다. recyclerViewState =binding.rcyMainMovieList.layoutManager.onSaveInstanceState() //RecyclerView 현 상태 저장 실..

2022. 10. 1. 17:12
개발 공부/Android

[Android Kotlin]RecyclerView Adapter 내외부 ClickListener 구현하기(onClick, LongClick)

onClick과 LoginClick을 둘 다 사용해야하는 상황에서 구현해보고나서 정리. Adapter 내외부 둘 다 사용이 가능하며 둘 다 반응하도록 구현했을 때는 Adapter 내부에 있는 것이 우선이었다. 1. Adapter 내부에 Interface 생성 onClick과 LongClick Interface를 생성한다. 나는 Adapter에서 ViewBinding을 사용했기 때문에 ItemAccountBinding을 받을 수 있도록 오버로딩했다. ViewBinding을 사용하지 않는 상태면 View를 받는 것만 해둬도 된다. 이걸 통해서 외부에서도 itemView에 접근할 수 있다. interface OnClickInterface{ //OnClickListener 인터페이스 fun onClick(vie..

2022. 8. 10. 16:06
개발 공부/Android

[Android] RecyclerView Item Ripple Effect(리플 적용하기)

기본 Ripple Effect RecyclerView에 쓰이는 Item layout의 가장 상단의 뷰에 적용해준다.(부모 뷰) - 아이템 제한 물결 효과 android:background="?android:attr/selectableItemBackground" 적용 예 - 아이템을 넘어 원형으로 확장된 물결 효과 android:background="?android:attr/selectableItemBackgroundBorderless" 적용 예 Custom Ripple Effect Ripple Effect로 쓸 xml 파일 생성 1. res>drawable에 ripple.xml 파일을 만든다 2. 기본 Ripple Effect를 적용했던 거처럼 부모 뷰 background에 적용해준다.

2022. 8. 9. 07:21
개발 공부/Android

[Android Kotlin] RecyclerView Animation Transition 구현하기

RecyclerView의 아이템을 클릭할 때 좀 더 자연스러운 화면전환이 하고 싶어서 찾아보다가 알게 된 것을 정리해 보려고 한다. 아이템의 정보가 다음 Activity에 연결되듯이 전환되는 Animation Transition이다. 결과물은 아래처럼 나온다. 1. style item 추가하기 Animation Tranition 을 적용하기 위해서 앱 테마에 해당하는 style에 item을 추가. true 적용한 코드 2. transitionName 옵션 추가 - 아이템을 눌러서 전환 될 화면의 xml로 가서 아이템의 정보가 이어져서 보여졌으면 하는 뷰에 transitionName옵션 추가. 나는 아이템 제목 -> 다음화면의 제목으로 이어지길 원해서 제목을 띄울 TextView에 적용했다. 이름은 tem..

2022. 8. 3. 17:10
개발 공부/Android

[Android Kotlin] RecyclerView Footer 넣기

이미 구현 된 RecyclerView가 있다는 전제하에서 진행됩니다. 1. Adapter 클래스로 가서 상속받고 있는 RecyclerView.Adapter의 제네릭 타입을 RecyclerView.ViewHolder로 변경 class TaskListAdapter (val context: Context?, private val taskListData: ArrayList) : RecyclerView.Adapter(){ 2. 필드에 기본 아이템과 Footer 아이템 구분을 위한 변수 선언 //footer 추가 private val TYPE_ITEM = 0 private val TYPE_FOOTER = 1 3. Footer 아이템으로 쓸 xml 파일 생성 4. Adapter 클래스로 가서 Footer ViewHo..

2022. 5. 27. 00:39
  • «
  • 1
  • »

전체 카테고리

  • 분류 전체보기 (66)
    • 개발 공부 (63)
      • Android (31)
      • Flutter (2)
      • React (6)
      • Next.js (5)
      • CSS (1)
      • Kotlin (6)
      • Java (1)
      • PHP (3)
      • 환경 구축 (7)
      • MySQL (1)
    • 생활지식 (0)
    • 스크랩 (1)
    • SafePass (1)
    • RicorTodo (1)
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Powered by Privatenote Copyright © 하새의 블로그 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바