RecyclerView
이 표에는 androidx.recyclerview
그룹의 모든 아티팩트가 나열되어 있습니다.
아티팩트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
recyclerview | 1.3.2 | - | - | 1.4.0-alpha02 |
recyclerview-selection | 1.1.0 | - | - | 1.2.0-alpha01 |
종속 항목 선언
RecyclerView의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용을 알아보려면 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.recyclerview:recyclerview:1.3.2" // For control over item selection of both touch and mouse driven selection implementation "androidx.recyclerview:recyclerview-selection:1.1.0" }
Kotlin
dependencies { implementation("androidx.recyclerview:recyclerview:1.3.2") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.1.0") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.4
버전 1.4.0-alpha02
2024년 8월 7일
androidx.recyclerview:recyclerview:1.4.0-alpha02
이 출시되었습니다. 버전 1.4.0-alpha02에 포함된 커밋을 확인하세요.
호환성 참고사항: 이 버전은 API 35 (Vanilla Ice Cream) SDK 이상에서만 컴파일됩니다. 업그레이드할 때 AGP (Android Gradle 플러그인) 경고가 표시되는 경우 경고를 표시하지 않을 수 있습니다.
API 변경사항
ViewCompat.LAYOUT_DIRECTION_
API를 지원 중단했습니다. (I51710, b/317055535)
새로운 기능
- 변수 새로고침 빈도 지원: RecyclerView는 이제 Over스크롤러를 통해 스크롤할 때 (플링 또는 부드러운 스크롤에서 정산)
setFrameContentVelocity
를 호출합니다. 추가했습니다. (I8f8a4)
기타 변경사항
- 새 플랫폼 API에 대한 액세스에 관한 수동 개요가 삭제되었습니다. 이는 AGP 7.3 이상 (예: R8 버전 3.3)과 함께 R8을 사용할 때 API 모델링을 통해, 그리고 AGP 8.1 이상을 사용할 때 (예: D8 버전 8.1) 모든 빌드에서 자동으로 발생하기 때문입니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. 추가했습니다. (Ia60e0, b/345472586)
RecyclerView
트레이스 섹션 결합/생성에 항목 뷰 유형을 추가하고 RV 미리 가져오기에 '강제 - 다음 프레임 필요'라는 라벨을 지정합니다. 은 다음 프레임에서 사용될 것으로 예상되므로 가능한 한 빨리 작업을 시작해야 합니다. 추가했습니다. (I8ec3e, b/309523615)compileSdk
을 35로 업데이트합니다 (자세한 내용은 위의 '호환성 참고사항' 참고). 5dc41be
외부 기여
minSdk
에서GestureDetector
를 사용할 수 있으므로GestureDetectorCompat
가 이제 지원 중단됩니다. 추가했습니다. (Icc4cd)
버전 1.4.0-alpha01
2023년 10월 18일
androidx.recyclerview:recyclerview:1.4.0-alpha01
이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
RecyclerView$LayoutManager#isLayoutReversed
API를 추가합니다. 추가했습니다. (I4970e)
버그 수정
- 애니메이션 중에 산발적인 비정상 종료를 일으키는 버그를 수정했습니다. (I42f22b) (1.3.2에도 포함됨)
버전 1.3.2
버전 1.3.2
2023년 10월 18일
androidx.recyclerview:recyclerview:1.3.2
이 출시되었습니다. 버전 1.3.2에 포함된 커밋을 확인하세요.
버그 수정
- 애니메이션 중에 산발적인 비정상 종료를 일으키는 버그를 수정했습니다. 추가했습니다. (I42f22b)
버전 1.3.1
버전 1.3.1
2023년 7월 26일
androidx.recyclerview:recyclerview:1.3.1
버전이 1.3.1-rc01 이후 변경사항 없이 출시되었습니다. 버전 1.3.1에 포함된 커밋을 확인하세요.
이전 버전의 출시 노트는 출시 노트 페이지를 참조하세요.
버전 1.3.1-rc01
2023년 5월 24일
androidx.recyclerview:recyclerview:1.3.1-rc01
이 출시되었습니다. 버전 1.3.1-rc01에 포함된 커밋을 확인하세요.
ViewPager2 사용자는 이 RecyclerView
버전으로 업데이트할 때 최소 1.1.0-beta02로 업데이트해야 합니다.
API 변경사항
- 앱의
RecyclerView
관련 문제를 디버깅하는 데 도움이 될 수 있는 새setDebugAssertionsEnabled
및setVerboseLoggingEnabled
메서드를 추가합니다. 추가했습니다. (I514b9)
버그 수정
onBind
를 호출할 때 일시적으로 분리된 뷰를 다시 연결하여ViewTreeLifecycleOwner
(ComposeView
포함) 사용자의 비정상 종료 문제를 수정합니다. 추가했습니다. (I7244f2c, b/265347515, b/283288295)
버전 1.3.0
버전 1.3.0
2023년 3월 8일
androidx.recyclerview:recyclerview:1.3.0
버전이 1.3.0-rc01 이후 변경사항 없이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.
1.2.0 이후 중요 변경사항
- 이 버전에는 Jetpack Compose와 함께 사용할 때의 성능 개선사항 (이전에는 1.3.0-alpha02 및 1.3.0-beta01에 포함됨)이 포함되어 있습니다. Compose
1.2.0-beta02
이상을 사용 중이고 이전 상호 운용성 가이드라인에 설명된MyComposeAdapter
및DisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
를 사용하고 있었다면 이를 삭제해야 합니다. 기본 상태에 비해 더 이상 개선되지 않기 때문입니다. SpanSizeLookup
와 같이ViewHolder
가 없는 상황에서 래핑된 어댑터 정보를 검색할 수 있도록 새로운ConcatAdapter.getWrappedAdapterAndPosition
메서드가 추가되었습니다. (I2bd4c, b/191543920)
버전 1.3.0-rc01
2022년 9월 21일
androidx.recyclerview:recyclerview:1.3.0-rc01
이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.
- 마지막 출시 이후 변경사항이 없습니다.
버전 1.3.0-beta02
2022년 8월 10일
androidx.recyclerview:recyclerview:1.3.0-beta02
이 출시되었습니다. 버전 1.3.0-beta02에 포함된 커밋을 확인하세요.
API 변경사항
- 1.3.0-beta01에 추가된 null 허용 여부 주석이 Kotlin 사용자와 소스 호환되지 않는 중요한 변경사항을 표현했기 때문에 삭제되었습니다. (I7A258, I1557E6, I8db76)
버전 1.3.0-beta01
2022년 6월 29일
androidx.recyclerview:recyclerview:1.3.0-beta01
이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 이 베타 출시에는 성능 개선 사항이 포함되어 있습니다(이전에는 Jetpack Compose와 함께 사용할 경우 1.3.0-alpha02에 포함됨) Compose
1.2.0-beta02
이상을 사용 중이며 이전 상호 운용성 가이드라인에 설명된MyComposeAdapter
및DisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
를 사용한 경우 이들 항목을 삭제해야 합니다. 기본 상태에 비해 더 이상 개선되지 않습니다.
API 변경사항
- 자바 사용자를 위한 린트 경고와 Kotlin 사용자를 위한 상호 운용성을 개선하기 위해 몇몇 메서드와 매개변수에 null 허용 여부 주석을 추가했습니다. 이는 일부 Kotlin 사용자에게는 소스 브레이킹 체인지가 되어 결과적으로 일부 자바 사용자에게 린트 경고/오류가 추가로 발생할 수 있습니다. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
버그 수정
- a11y 노드 정보 클래스 이름을 설정하여 a11y 서비스에서 그리드가 그리드로 처리되도록 합니다. (I12812)
버전 1.3.0-alpha02
2022년 4월 6일
androidx.recyclerview:recyclerview:1.3.0-alpha02
가 출시되었습니다. 버전 1.3.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 향후 SDK를 위한 실험용
BuildCompat
메서드를 추가했습니다. (Iafd82, b/207528937) SpanSizeLookup
과 같은 ViewHolder가 없는 경우 래핑된 어댑터 정보를 가져올 수 있는 새ConcatAdapter.getWrappedAdapterAndPosition
메서드를 추가했습니다. (I2bd4c, b/191543920)
버그 수정
버전 1.3.0-alpha01
2021년 9월 15일
androidx.recyclerview:recyclerview:1.3.0-alpha01
이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 스트레치 오버스크롤 RecyclerView를 위한 지원이 추가되었습니다. (Iab877)
RecyclerView-Selection 버전 1.2.0
버전 1.2.0-alpha01
2021년 5월 5일
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
- 항목이 아직 재활용되지 않은 동안 KeyProvider의 키/위치 매핑이 손실되는 문제를 수정합니다. (b/145767095)
버전 1.2.1
버전 1.2.1
2021년 6월 2일
androidx.recyclerview:recyclerview:1.2.1
이 출시되었습니다. 버전 1.2.1에 포함된 커밋을 확인하세요.
버그 수정
- 이제
ConcatAdapter
내의ViewHolder
가onViewRecycled
콜백에서 쿼리될 때 올바른 어댑터 위치를 반환합니다. (b/187339376)
버전 1.2.0
버전 1.2.0
2021년 4월 7일
androidx.recyclerview:recyclerview:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 주요 변경사항
ConcatAdapter: 이 새로운 어댑터를 사용하면 동일한 RecyclerView에서 여러 어댑터를 쉽게 연결할 수 있습니다. 자세한 내용은 블로그 게시물을 참고하세요.
- 이번 변경사항에 따라
ViewHolder.getAdapterPosition
이 지원 중단되고 새로운 두 메서드로 대체되었습니다.- getBindingAdapterPosition이 이 항목을 바인딩한 어댑터를 기준으로 위치를 반환합니다.
- getAbsoluteAdapterPosition이 전체 RecyclerView를 기준으로 위치를 반환합니다.
지연 상태 복원: RecyclerView 어댑터가 이제 콘텐츠가 로드될 때까지 상태 복원을 지연시킬 수 있습니다. 자세한 내용은 문서를 참고하세요.
버전 1.2.0-rc01
2021년 3월 24일
androidx.recyclerview:recyclerview:1.2.0-rc01
이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- 이제
ConcatAdapter.Config.Builder
에Config.DEFAULT
와 일치하는 기본값이 있습니다. (b/157169835)
버전 1.2.0-beta02
2021년 2월 24일
androidx.recyclerview:recyclerview:1.2.0-beta02
가 출시되었습니다. 버전 1.2.0-beta02에 포함된 커밋을 확인하세요.
버그 수정
- 상단 패딩이 오른쪽 오버스크롤 발광을 야기하여 패딩을 준수하기 위해 아래 방향이 아닌 위쪽의 패딩된 영역 안으로 이동하는 문제를 수정했습니다. (I6b61d, b/118399122)
버전 1.2.0-beta01
2020년 12월 2일
1.2.0-alpha06
이후 변경사항 없이 androidx.recyclerview:recyclerview:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha06
2020년 10월 1일
androidx.recyclerview:recyclerview:1.2.0-alpha06
이 출시되었습니다. 버전 1.2.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- 여러 RecyclerListener를 추가하기 위한 지원을 추가했습니다. (I70ad8, b/145767095)
API 변경사항
- RecyclerView.setRecyclerListener(RecyclerListener)를 지원 중단했습니다. (I70ad8, b/145767095)
버전 1.2.0-alpha05
2020년 7월 22일
androidx.recyclerview:recyclerview:1.2.0-alpha05
가 출시되었습니다. 버전 1.2.0-alpha05에 포함된 커밋을 확인하세요.
버그 수정
- RecyclerView에 하나의 항목만 있고 그 항목에 포커스가 있는 경우 앞뒤로 포커스가 이동하지 않는 문제를 수정했습니다. (6f36b3)
StaggeredGridLayoutManager
의ArrayIndexOutOfBoundsException
문제를 수정했습니다. (49b601, b/122303625, b/74877618, b/160193663, b/37086625)- 특정 상황에서 RecyclerView가 하위 요소를 표시하지 않고 부적절하게 종료되는 측정 버그를 수정했습니다. (89040c, b/138734786)
외부 기여
- 도움을 주신 Facebook의 콜린 크렌윙클 님께 감사드립니다.
버전 1.2.0-alpha04
2020년 6월 24일
androidx.recyclerview:recyclerview:1.2.0-alpha04
가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
API 변경사항
- 다른 데이터 병합 동작과 혼동하지 않도록
MergeAdapter
의 이름이ConcatAdapter
로 변경되었습니다. (c0540c, b/158019211)
버그 수정
- 모든 표시 항목이 삭제될 때 발생하는 자동 스크롤을 개선했습니다. (fe8670, b/154124815)
버전 1.2.0-alpha03
2020년 4월 29일
androidx.recyclerview:recyclerview:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 이제 RecyclerView에 중첩 스크롤과 호환되는 프로그래매틱 스크롤을 허용하는
nestedScrollBy
메서드가 포함됩니다. (Ibaa58)
버전 1.2.0-alpha02
2020년 4월 1일
androidx.recyclerview:recyclerview:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
이 버전 이상의 RecyclerView는 ViewPager2 이전 버전과 호환되지 않습니다. 현재 androidx.viewpager2:viewpager2:1.0.0
이하를 사용 중인 경우 androidx.viewpager2:viewpager2:1.1.0-alpha01
로 업데이트해야 합니다.
새로운 기능
MergeAdapter
- MergeAdapter: 여러 어댑터를 선형적으로 결합할 수 있는 새로운 RecyclerView 어댑터입니다.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
위 샘플의 경우 MergeAdapter는
adapter1
에 뒤이어adapter2
의 항목을 나타냅니다.RecyclerView.Adapter
지연 상태 복원:어댑터에서 레이아웃 상태가 복원되는 시점을 제어할 수 있도록 하는 새로운 API가
RecyclerView.Adapter
클래스에 추가되었습니다.예를 들면
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
를 호출하여 어댑터가 비어 있지 않을 때까지 RecyclerView를 대기시킨 후에 스크롤 위치를 복원할 수 있습니다.
CollectionInfo 및 CollectionItemInfo는 더 이상 기본적으로 채워지지 않습니다.
접근성 서비스(예: TalkBack)로 사용자에게 숫자와 항목 색인을 계속 표시하려면 CollectionInfo와 CollectionItemInfo를 직접 채워야 합니다.
프레임워크가 사용자가 인식한 대로 항목의 수를 결정할 수 없기 때문에 이러한 객체는 더 이상 프레임워크에서 채워지지 않습니다(예: 구분자, 헤더 또는 인식된 여러 항목을 나타내는 RecyclerView 항목).
버그 수정
- 표시 영역 크기가 변경되면 이제 RecyclerView는 표시 영역 밖의 View에 고정하지 않습니다.
- 첫 번째 목록의 원본 항목이 두 번째 목록에서 여러 번 중복된 경우 diff를 잘못 계산할 수 있는 DiffUtil의 버그를 수정했습니다. (b/123376278 참조)
버전 1.2.0-alpha01
2019년 12월 18일
androidx.recyclerview:recyclerview:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
- RTL 그리기 및 터치 정확성과 관련된 FastScroller의 사소한 문제를 수정했습니다. (b/143789932, aosp/1130438)
- ItemTouchHelper 애니메이션이 실행되는 동안 ItemTouchHelper를 RecyclerView에서 삭제할 때 발생하는 비정상 종료 문제를 수정했습니다. (b/140447176, aosp/1167575)
버전 1.1.0
버전 1.1.0
2019년 11월 20일
androidx.recyclerview:recyclerview:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
PagerSnapHelper
및LinearSnapHelper
는 이제clipToPadding
값에 상관없이 RecyclerView의 패딩을 고려합니다. (b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728)RecyclerView.setLayoutTransition(LayoutTransition)
을 공식적으로 지원 중단했으며 null이 아닌 값으로 호출할 경우IllegalArgumentException
이 발생합니다. 대신RecyclerView.setItemAnimator(ItemAnimator)
를 사용하세요. (aosp/839414)- aosp/723649: RecyclerView가 이제
NestedScrollingChild3
을 구현하므로 중첩된 모든 스크롤 상위 요소가 중첩 스크롤 거리 사용을 중지하면 이를 알 수 있습니다. 현재 개발자 코드가RecyclerView.onNestedScroll(View, int, int, int, int, int)
을 재정의하는 경우 이 메서드는 더 이상 호출되지 않으므로 대신RecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
을 재정의해야 합니다. - RecyclerView에는 이제 테마의 기본 스타일을 설정할 수 있는 기본 스타일 속성
recyclerViewStyle
이 있습니다. - ViewCompat 접근성 작업 API가 더 이상 RecyclerView ItemDelegate를 중단하지 않습니다.
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
를 재정의하여 연결된 RecyclerView의 각 면에 레이아웃 공간을 얼마나 추가해야 하는지 맞춤설정할 수 있습니다. (aosp/931259)- 애니메이션에 걸리는 시간(밀리초)을 지정할 수 있도록 smoothScrollBy의 새로운 오버로드인
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
을 추가했습니다. (aosp/952807 참조)
버전 1.1.0-rc01
2019년 10월 23일
androidx.recyclerview:recyclerview:1.1.0-rc01
이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
RecyclerViewAccessibilityDelegate.ItemDelegate
를 재정의할 때 발생하는 '애플리케이션 응답 없음' 오류를 수정했습니다. (aosp/1138057, aosp/1133434)
버전 1.1.0-beta05
2019년 10월 9일
androidx.recyclerview:recyclerview:1.1.0-beta05
가 출시되었습니다. 버전 1.1.0-beta05에 포함된 커밋을 확인하세요.
API 변경사항
- aosp/1106715 및 aosp/1103182의 후속으로 이제 LinearSnapHelper 및 PagerSnapHelper에서 clipToPadding 값과 상관없이 RecyclerView의 경계 중심에 있는 뷰를 패딩을 제외하고 반환합니다. (aosp/1130728 참조)
버그 수정
- RecyclerView가 RecyclerView의 하위 요소에 관한 중복된 접근성 노드를 생성하는 문제를 수정했습니다. (aosp/1130618 참조)
- RecyclerView의 가상 접근성 계층 구조가 작동하지 않는 문제를 해결했습니다.
- 맞춤 ItemDelegates가 사용되지 않는 문제를 해결했습니다.
버전 1.1.0-beta04
2019년 9월 5일
androidx.recyclerview:recyclerview:1.1.0-beta04
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버그 수정
PagerSnapHelper
및LinearSnapHelper
는 이제clipToPadding
값에 상관없이 RecyclerView의 패딩을 고려합니다. (b/139452422, b/139012032, aosp/1103182, aosp/1106715)- 중첩된 사전 스크롤로 인해
NestedScrollingParent
에서 스크롤할 때 RecyclerView가 터치 가로채기를 차단하지 않는 버그를 수정했습니다. (b/138668210, aosp/1105373). ViewPager2와 같은 라이브러리에 유용합니다. - 중첩된 사전 스크롤이 전달되기 전에 이제 RecyclerView가 항상
SCROLL_STATE_DRAGGING
으로 이동합니다. (aosp/1105373) - 이제 동작이 터치 슬롭을 초과하기 전에 중첩된 사전 스크롤이 실행되지 않습니다. (b/139530818, aosp/1105373)
- 중첩된 사전 스크롤에 전달된
dx
및dy
인수는 RecyclerView가 인수에 맞는 방향으로 스크롤할 수 없는 경우 0으로 처리됩니다. (aosp/1105373)
버전 1.1.0-beta03
2019년 8월 15일
androidx.recyclerview:recyclerview:1.1.0-beta03
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
API 변경사항
- RecyclerView는 이제
View.onScrollChanged(int l, int t, int oldl, int oldt)
를 통해 스크롤 거리를 전달하여 접근성 서비스에 스크롤 변경사항을 정확히 알립니다. (aosp/1007823 참조)
버그 수정
- RecyclerView 및 접근성과 관련된 주요 버그 stack overflow 버그를 수정했습니다. (aosp/1099577)
버전 1.1.0-beta02
2019년 8월 7일
androidx.recyclerview:recyclerview:1.1.0-beta02
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- RecyclerView에는 이제 테마의 기본 스타일을 설정할 수 있는 기본 스타일 속성
recyclerViewStyle
이 있습니다.
버그 수정
- RecyclerView를 스크롤하여 NestedScrollingParent에서 스크롤하도록 할 때 RecyclerView에서 터치 가로채기를 차단하지 않는 버그를 수정했습니다. (b/131115697, aosp/1055911)
버전 1.1.0-beta01
2019년 7월 2일
androidx.recyclerview:recyclerview:1.1.0-beta01
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
RecyclerView
는 이제 접근성 이벤트를 통해 스크롤이 시작될 때 중첩 스크롤에 참여합니다. (aosp/973584)
버전 1.1.0-alpha06
2019년 6월 5일
androidx.recyclerview:recyclerview:1.1.0-alpha06
및 androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 애니메이션에 걸리는 시간(밀리초)을 지정할 수 있도록 smoothScrollBy의 새로운 오버로드인
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
을 추가했습니다. (aosp/952807 참조)
API 변경사항
GridLayoutManager
및StaggeredGridLayoutManager
는 더 이상 접근성을 위해 전체 스팬 항목에 자동으로 헤더라는 라벨을 지정하지 않습니다. (aosp/969703)recyclerview-selection
에서 선택 순서(만든 시간순)를 유지합니다. (aosp/937279)
버그 수정
- 중첩 스크롤 상황에서
RecyclerView
가 잘못된 속도로 살짝 튕기는 버그를 수정했습니다. (aosp/961642) recyclerview-selection
의 안정성을 개선했습니다. (aosp/960213, aosp/926296)
버전 1.1.0-alpha05
2019년 5월 7일
androidx.recyclerview:recyclerview:1.1.0-alpha05
및 androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
를 재정의하여 연결된 RecyclerView의 각 면에 레이아웃 공간을 얼마나 추가해야 하는지 맞춤설정할 수 있습니다. (aosp/931259 참조)
API 변경사항
DividerItemDecoration
드로어블을 가져오기 위한 API를 추가했습니다. (aosp/937282)LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
를 지원 중단하고 대신 양쪽에 맞춤형 추가 레이아웃 공간을 가질 수 있는 새로운 메커니즘을 사용합니다. 새 메서드는LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
입니다. (aosp/931259 참조)
버그 수정
- 동작 선택을 삭제했습니다. (aosp/940781)
- 선택 순서(만든 시간순)를 유지합니다. (b/128455535)
버전 1.1.0-alpha04
2019년 4월 3일
androidx.recyclerview:recyclerview:1.1.0-alpha04
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버그 수정
- RV OnItemTouchListener에서 이전에 ACTION_UP을 가로챌 수 없었기 때문에 OnItemTouchListener에서 다른 코드가 ACTION_UP에 응답하는 것을 차단하지 못했습니다. 이 버그를 이제 수정했습니다. (aosp/916137)
버전 1.1.0-alpha03
2019년 3월 13일
androidx.recyclerview:recyclerview:1.1.0-alpha03
이 출시되었습니다. 이 버전에 포함된 커밋의 전체 목록은 여기에서 확인할 수 있습니다.
새로운 기능
GridLayoutManager
: 고해상도GridLayoutManager
스크롤바 크기를 측정합니다. (aosp/838836)- 범위 정보를 사용하여
GridLayoutManager
의 스크롤바 치수를 추정합니다. - 사용 설정하려면
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
를 true로 전달하여 호출합니다. - 자세한 내용은
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
관련 문서를 참조하세요.
- 범위 정보를 사용하여
버그 수정
- 접근성: ViewHolder를 재활용한 후 다시 바인딩하면 RecyclerView의
RecyclerViewAccessibilityDelegate
에 연결된 ItemDelegate가 ViewHolder의 itemView에 연결되지 않아 접근성이 손상되는 버그가 있었습니다. 이 버그는 이제 수정되었습니다. (aosp/917740 참조)
버전 1.1.0-alpha02
2019년 1월 30일
androidx.recyclerview:recyclerview 1.1.0-alpha02
가 출시되었습니다.
API 변경사항
RecyclerView.setLayoutFrozen(boolean)
및RecyclerView.isLayoutFrozen()
을 지원 중단하고RecyclerView.suppressLayout(boolean)
및RecyclerView.isLayoutSuppressed()
로 대체했습니다. (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)
을 공식적으로 지원 중단했으며 null이 아닌 값으로 호출할 경우IllegalArgumentException
이 발생합니다. (aosp/839414 참조)
버그 수정
- RV에서
SmoothScroller
가 중지되지 않는 버그를 수정했습니다. (aosp/843741) - 스크롤 애니메이션을 종료할 때
SCROLL_STATE_IDLE
을 호출할 수 없는 버그를 수정했습니다. (aosp/812576)
버전 1.1.0-alpha01
2018년 12월 3일
androidx.recyclerview 1.1.0-alpha01
및 androidx.recyclerview-selection 1.1.0-alpha01
이 출시되었습니다.
androidx.recyclerview 1.1.0-alpha01
API 변경사항
- aosp/723649: RecyclerView가 이제
NestedScrollingChild3
을 구현하므로 중첩된 모든 스크롤 상위 요소가 중첩 스크롤 거리 사용을 중지하면 이를 알 수 있습니다. 현재 개발자 코드가RecyclerView.onNestedScroll(View, int, int, int, int, int)
을 재정의하는 경우 이 메서드는 더 이상 호출되지 않으므로 대신RecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
을 재정의해야 합니다.
버그 수정
TransitionManager
를 사용하여RecyclerView
의 항목을 접거나 펼칠 때 발생하는 비정상 종료 문제를 수정했습니다. (b/37129527)RecyclerView.OnItemTouchListener
의 동작이 뷰 시스템의onInterceptTouchEvent
및onTouchEvent
동작과 일치하지 않는 버그를 수정했습니다. (aosp/721235)- 부드러운 스크롤과 관련된 극단적인 케이스의 일부 버그를 수정했습니다. (aosp/729718, aosp/747168, aosp/812576)
PagerSnapHelper
에서 일반적이지 않은 하위 뷰를 처리하기 위한 맞추기 전략을 수정했습니다. (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
버그 수정
- 선택을 삭제하여 데이터 세트가 변경된 경우에 발생하는
ConcurrentModificationException
을 수정했습니다.
RecyclerView-Selection 버전 1.1.0
RecyclerView-Selection 버전 1.1.0
2021년 1월 27일
androidx.recyclerview:recyclerview-selection:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 주요 변경사항
- 다양한 방면에서 안정성을 개선했습니다.
SelectionTracker.Builder
의withGestureTooltypes
및withPointerTooltypes
메서드를 지원 중단했습니다. 이러한 메서드는 향후 버전에서 삭제될 예정입니다.
RecyclerView-Selection 버전 1.1.0-rc03
2020년 10월 1일
androidx.recyclerview:recyclerview-selection:1.1.0-rc03
이 출시되었습니다. 버전 1.1.0-rc03에 포함된 커밋을 확인하세요.
버그 수정
수정을 테스트하고 의견을 제공하여 도움을 주신 스테판 키슬러님께 감사드립니다.
- 활성 선택 중 하위 View의 OnClickListener가 예기치 않게 호출되는 문제를 수정했습니다.
- 마우스 핸들러(밴드 선택) > 예기치 않은 스크롤을 정상적으로 처리합니다. (b/167821507)
RecyclerView-Selection 버전 1.1.0-rc02
2020년 9월 2일
androidx.recyclerview:recyclerview-selection:1.1.0-rc02
가 출시되었습니다. 버전 1.1.0-rc02에 포함된 커밋을 확인하세요.
주요 기능
- 입력 처리에서 1.0의 여러 회귀 문제가 해결되었습니다.
onRequestDisallowInterceptTouchEvent
를 준수하도록 라이브러리를 업데이트하여 ItemTouchHelper와 잘 작동할 수 있습니다. 스와이프만 하면 됩니다.
버그 수정
- 선택 라이브러리에서
GestureDetector
이벤트를 잘못 해석하여 활성 선택 중에 탭이 누락되는 문제를 수정했습니다. (b/165030422) - 어댑터에서 삭제된 항목을 반영하도록 선택이 업데이트되지 않는 문제를 수정했습니다. (b/138932671)
- SelectionTracker에 활성 선택이 있는 동안 RecyclerView 항목이 onClick 이벤트를 발생시키는 문제를 수정했습니다. (b/161162268)
- 이제
onRequestDisallowInterceptTouchEvent
를 올바르게 처리합니다. - Q에서 마우스 스크롤 중에
”Cannot call this method in a scroll callback”
이 표시되는 문제가 수정되었습니다. - RecyclerView 인스턴스의 요구사항을 명시하도록 문서(특히
StableIdKeyProvider
의 문서)가 업데이트되었습니다.
Recyclerview-Selection 버전 1.1.0-rc01
2020년 2월 5일
androidx.recyclerview:recyclerview-selection:1.1.0-rc01
이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- RecyclerView에서 스크롤 가능한 AppBarLayout으로 상호작용하는 경우 동작을 선택하여 스크롤하기 어렵던 문제를 수정했습니다. (aosp/1193934)
RecyclerView-Selection 버전 1.1.0-beta01
2019년 12월 4일
androidx.recyclerview:recyclerview-selection:1.1.0-beta01
이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
내부 상태의 관리와 방어적 검사와 관련된 안정성이 전반적으로 개선되었습니다.
버그 수정
- 라이브러리 상태 관리와 CANCEL 이벤트 해석을 개선하여 안정성을 향상했습니다.
API 변경사항
- 누락된 선택 키 유형 매개변수를 클래스와 메서드에 추가했습니다.
- 지원 중단된 메서드:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- 이러한 메서드의 목적은 개발자가 포인터 또는 동작을 기본값* 이외의 도구 유형에 매핑할 수 있도록 하는 것이었습니다. 이 목적은 좋았지만 좀 더 사용해 본 결과 입력 동작에 관한 사용자의 기대치가 도구 유형에 따라 매우 달랐습니다. 또한 '수동' 스타일러스는 Android 입력 시스템에서 FINGER 도구 유형입니다.
- 기본 도구 유형은 동작의 경우 FINGER이고 포인터의 경우 MOUSE입니다.