AppCompat
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 5월 29일 | 1.7.0 | - | - | - |
종속 항목 선언
Appcompat의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { def appcompat_version = "1.7.0" implementation "androidx.appcompat:appcompat:$appcompat_version" // For loading and tinting drawables on older versions of the platform implementation "androidx.appcompat:appcompat-resources:$appcompat_version" }
Kotlin
dependencies { val appcompat_version = "1.7.0" implementation("androidx.appcompat:appcompat:$appcompat_version") // For loading and tinting drawables on older versions of the platform implementation("androidx.appcompat:appcompat-resources:$appcompat_version") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.7
버전 1.7.0
2024년 5월 29일
androidx.appcompat:appcompat:1.7.0
및 androidx.appcompat:appcompat-resources:1.7.0
가 출시되었습니다. 버전 1.7.0에 포함된 커밋을 확인하세요.
1.6.0 이후 중요 변경사항
- 이제
AppCompatDialog
가ViewTree
API를 통해 대화상자의 장식 뷰에서LifecycleOwner
,SavedStateRegistryOwner
,OnBackPressedDispatcherOwner
를 올바르게 설정하여AppCompatDialog
내에서ComposeView
를 호스팅할 때 발생하는 문제를 해결했습니다. - 이제
AppCompatActivity
가 뷰에서 디스패처를 검색할 수 있도록ViewTreeOnBackPressedDispatcherOwner
를 설정합니다. SupportMenuInflater
의 성능이 크게 개선되었습니다.- 이제
Locale.getDefault()
는 콜드 스타트 후 시스템 언어를 반환합니다. - 이제
LinearLayoutCompat
가 여백 레이아웃 매개변수를 유지합니다.
종속 항목 업데이트
AppCompat
는 이제 Activity 1.7.0에 종속됩니다.- 이제
AppCompat
가 Fragment 버전 1.5.4에 종속됩니다.
버전 1.7.0-rc01
2024년 5월 14일
androidx.appcompat:appcompat:1.7.0-rc01
및 androidx.appcompat:appcompat-resources:1.7.0-rc01
가 출시되었습니다. 버전 1.7.0-rc01에 포함된 커밋을 확인하세요.
버전 1.7.0-beta01
2024년 5월 1일
androidx.appcompat:appcompat:1.7.0-beta01
및 androidx.appcompat:appcompat-resources:1.7.0-beta01
가 출시되었습니다. 버전 1.7.0-beta01에 포함된 커밋을 확인하세요.
버전 1.7.0-alpha03
2023년 7월 26일
androidx.appcompat:appcompat:1.7.0-alpha03
및 androidx.appcompat:appcompat-resources:1.7.0-alpha03
가 출시되었습니다. 버전 1.7.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
활동이 아닌 컨텍스트에서 앱별 언어 가져오기를 지원합니다. (I58e753) 이 기능에 4개의 새로운 API가 추가되었습니다.
LocaleManagerCompat.getApplicationLocales()
: 개발자가 앱별 언어를 활동 범위를 벗어날 수 있습니다.ContextCompat.getString()
: 앱별 언어에 따라 현지화된 문자열을 반환합니다.ContextCompat.getContextForLanguage()
: 이 메서드에서 반환하는 컨텍스트는 앱별 언어를 따릅니다.ConfigurationCompat.setLocales()
: 위의 API에서 구성의 언어를 설정합니다.
기타 API 변경사항
TextView
compat 클래스에setLineHeight(unit, lineHeight)
를 추가했습니다. (Ia9fa9)TextView
compat 클래스에setLineHeight(unit, lineHeight)
를 추가했습니다. (Ib2ee1)TextView
compat 클래스에setLineHeight(unit, lineHeight)
를 추가했습니다. (I15716)
버그 수정
- 이제
AppCompatDialog
가ViewTree
API를 통해 대화상자의 장식 뷰에서LifecycleOwner
,SavedStateRegistryOwner
,OnBackPressedDispatcherOwner
를 올바르게 설정하여AppCompatDialog
내에서ComposeView
를 호스팅할 때 발생하는 문제를 해결했습니다.AppCompat
는 이제 Activity 1.7.0에 종속됩니다. 추가했습니다. (Ib28ab, b/261314581) SupportMenuInflater
의 성능을 크게 개선했습니다. (I0b087)
버전 1.7.0-alpha02
2023년 2월 8일
androidx.appcompat:appcompat:1.7.0-alpha02
및 androidx.appcompat:appcompat-resources:1.7.0-alpha02
가 출시되었습니다. 버전 1.7.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
AppCompatDelegate.getLocaleManagerForApplication()
에서 메모리 누수가 발생하는 문제를 수정했습니다. (44b57fd)AppCompat
는 이제 Fragment 버전 1.5.4에 종속됩니다. (I54dcd)
버전 1.7.0-alpha01
2022년 10월 5일
androidx.appcompat:appcompat:1.7.0-alpha01
및 androidx.appcompat:appcompat-resources:1.7.0-alpha01
이 출시되었습니다. 버전 1.7.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
- 이제
AppCompatActivity
가 뷰에서 디스패처를 검색할 수 있도록ViewTreeOnBackPressedDispatcherOwner
를 설정합니다. (I1a115, b/235416503) - 이제
Locale.getDefault()
가 콜드 스타트 후 시스템 언어를 반환합니다. (I6a94b) - 이제
LinearLayoutCompat
가 여백 레이아웃 매개변수를 유지합니다. (Id2af4)
버전 1.6.1
버전 1.6.1
2023년 2월 8일
androidx.appcompat:appcompat:1.6.1
및 androidx.appcompat:appcompat-resources:1.6.1
가 출시되었습니다. 버전 1.6.1에 포함된 커밋을 확인하세요.
버그 수정
AppCompatDelegate.getLocaleManagerForApplication()
에서 메모리 누수가 발생하는 문제를 수정했습니다. (44b57fd)
버전 1.6.0
버전 1.6.0
2023년 1월 11일
androidx.appcompat:appcompat:1.6.0
, androidx.appcompat:appcompat-resources:1.6.0
이 출시되었습니다. 버전 1.6.0에 포함된 커밋을 확인하세요.
1.5.0 이후 중요 변경사항
- 애플리케이션 언어 맞춤설정을 위한 지원을 추가했습니다. 자세한 내용은
AppCompatDelegate.setApplicationLocales(LocaleListCompat)
를 참고하세요. Android 13에서 사용할 수 있는 새로운 언어별 환경설정 API에 이전 버전과의 호환성을 제공합니다. - Android 13(Tiramisu, API 수준 33) SDK와 일치하도록 null 허용 여부를 업데이트했습니다.
- 공개 API 노출 영역에
DrawableWrapper
,DrawableContainer
,StateListDrawable
compat 클래스를 추가했습니다.
버전 1.6.0-rc01
2022년 9월 7일
androidx.appcompat:appcompat:1.6.0-rc01
및 androidx.appcompat:appcompat-resources:1.6.0-rc01
가 출시되었습니다. 버전 1.6.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- 이제
AppCompatActivity
가 뷰에서 디스패처를 검색할 수 있도록ViewTreeOnBackPressedDispatcherOwner
를 설정합니다. (I1a115, b/235416503) onConfigurationChanged
에 전달된 구성을 덮어쓰는 버그 수정을 되돌려,onConfigurationChanged
를 통해 자체 맞춤 구성을 삽입하는 테스트에서 문제를 일으켰습니다.
버전 1.6.0-beta01
2022년 8월 10일
androidx.appcompat:appcompat:1.6.0-beta01
및 androidx.appcompat:appcompat-resources:1.6.0-beta01
가 출시되었습니다. 버전 1.6.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
DrawableWrapper
,DrawableContainer
,StateListDrawable
compat 클래스를 공개 API로 이동했습니다. (I37f3e, b/227789566)- 비동기 레이아웃 확장기를 위한 새로운 팩토리를 도입합니다. (Ia657b)
버그 수정
- 이제
Toolbar
에서 메뉴가 생성될 때 무조건 메뉴를 표시하는 대신 메뉴가 표시되기 전에onPrepareMenu()
를 호출합니다. (I2a58d, b/232206677) - 이제
AppCompat
가Lifecycle
2.5.1
및SavedState
1.2.0
에 명시적으로 종속됩니다. (I7e3e2) AppCompatDelegate
및AppCompat
에서 제공하는 툴바 구현에 후방 호출 콜백 지원이 추가되었습니다. (I24062)- 1.5.0-beta01용
AppCompat
API를 완료합니다. (I2a43d, b/236866227) - 1.5.0-beta01용
AppCompat
API를 완료합니다. (I2a43d, b/236866227)
버전 1.6.0-alpha05
2022년 6월 15일
androidx.appcompat:appcompat:1.6.0-alpha05
및 androidx.appcompat:appcompat-resources:1.6.0-alpha05
가 출시되었습니다. 버전 1.6.0-alpha05는 비공개 출시 전 브랜치에서 개발되었으며 공개 커밋이 없습니다.
API 변경사항
- Tiramisu 베타 3 SDK의 최종 API 노출 영역에 맞도록 null 허용 여부를 업데이트했습니다.
- 이제 Tiramisu 베타 3 SDK에 맞는
minCompileSdk
는 33입니다.
버전 1.6.0-alpha04
2022년 5월 18일
androidx.appcompat:appcompat:1.6.0-alpha04
및 androidx.appcompat:appcompat-resources:1.6.0-alpha04
가 출시되었습니다. 이 라이브러리는 비공개 출시 전 브랜치를 대상으로 개발되었으므로 커밋 로그를 사용할 수 없습니다.
API 변경사항
- MDC-Android에서 사용할 SwitchCompat 너비 제한을 재정의하는 API를 추가했습니다.
버그 수정
- attachBaseConfig 외부에서 구성이 변경되면 관리형 구성을 사용하지 않습니다.
버전 1.6.0-alpha03
2022년 4월 27일
androidx.appcompat:appcompat:1.6.0-alpha03
및 androidx.appcompat:appcompat-resources:1.6.0-alpha03
가 출시되었습니다.
이 버전을 컴파일하려면 Android 13 베타 1이 필요하며, 향후 개발자 프리뷰와 런타임 시 호환되지 않을 수도 있습니다.
새로운 기능
AppCompatDelegate.setApplicationLocales()
를 통해 앱 전체에서 맞춤 언어를 선택할 수 있습니다. 이 기능은 API 33 이상에서 플랫폼 구현에 위임합니다.
버전 1.6.0-alpha01
2022년 2월 23일
androidx.appcompat:appcompat:1.6.0-alpha01
및 androidx.appcompat:appcompat-resources:1.6.0-alpha01
가 출시되었습니다. 버전 1.6.0-alpha01은 내부 분기에서 빌드되었으며 공개적으로 표시되는 커밋은 없습니다.
이 버전은 컴파일하는 데 Android Tiramisu DP1이 필요하며 향후 개발자 프리뷰와의 런타임 호환성이 보장되지 않습니다.
새로운 기능
- 애플리케이션 언어 맞춤설정을 위한 지원을 추가했습니다. 자세한 내용은
AppCompatDelegate.setApplicationLocales(LocaleListCompat)
를 참고하세요. Android 13에서 사용할 수 있는 새로운 언어별 환경설정 API에 이전 버전과의 호환성을 제공합니다.
버전 1.5.1
버전 1.5.1
2022년 9월 7일
androidx.appcompat:appcompat:1.5.1
및 androidx.appcompat:appcompat-resources:1.5.1
가 출시되었습니다. 버전 1.5.1에 포함된 커밋을 확인하세요.
종속 항목 업데이트
AppCompat
는 이제 Lifecycle2.5.1
및 SavedState1.2.0
에 명시적으로 종속됩니다. (I7e3e2)
버전 1.5.0
버전 1.5.0
2022년 8월 10일
androidx.appcompat:appcompat:1.5.0
및 androidx.appcompat:appcompat-resources:1.5.0
가 출시되었습니다. 버전 1.5.0에 포함된 커밋을 확인하세요.
1.4.0 이후 중요 변경사항
- 이 공개 버전에는 야간 모드 안정성 개선, 버그 수정, AppCompat 지원 텍스트 위젯의 복합 드로어블 색조 조정 지원, API 사용성 개선사항이 포함됩니다. 자세한 변경사항 목록은 이전의 1.5.0 시리즈 출시 노트를 참고하세요.
버전 1.5.0-rc01
2022년 7월 27일
androidx.appcompat:appcompat:1.5.0-rc01
및 androidx.appcompat:appcompat-resources:1.5.0-rc01
이 출시되었습니다. 버전 1.5.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- AppCompat의 컨텍스트 래퍼가 애플리케이션 컨텍스트의 지원 리소스 구현을 재사용하여 애플리케이션 컨텍스트에서
uiMode
을 덮어쓰는 문제가 수정되었습니다. (Idf9d5)
버전 1.5.0-beta01
2022년 7월 13일
androidx.appcompat:appcompat:1.5.0-beta01
및 androidx.appcompat:appcompat-resources:1.5.0-beta01
가 출시되었습니다. 버전 1.5.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 스위치의 기본 너비를 조정하지 못하도록 재정의 플래그를 추가합니다. (I37cb7)
- Thumb 위치 getter API에
@FloatRange
주석을 추가합니다. (If524c) AnimatedStateListDrawableCompat
에 누락된 null 허용 여부 주석을 추가했습니다. (Ieb4ec)
버그 수정
- 1.5.0-beta01용
AppCompat
API를 완료합니다. (I2a43d, b/236866227) ActionMenuItemView
의className
값을Button
으로 처리하도록 변경합니다. (I5ee1c)
버전 1.5.0-alpha01
2022년 4월 6일
androidx.appcompat:appcompat:1.5.0-alpha01
및 androidx.appcompat:appcompat-resources:1.5.0-alpha01
가 출시되었습니다. 버전 1.5.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 전환 thumb의 위치를 서브클래스에 노출하는 새 API를 추가했습니다. (I9bfb4)
- Tiramisu DP2와 일치하도록 null 허용 여부가 업데이트되었습니다. (I0cbb7)
- 복합 드로어블 색조 조정을 TextView에서 파생된 위젯으로 백포팅했습니다. (Idf98c, b/165822337)
AppCompatDialog
는 이제OnBackPressedDispatcher
와의 호환성을 위해ComponentDialog
를 확장합니다. (Id9b91, b/217620781)SearchView.onQueryRefine()
은 이제 재정의가 가능하도록 공개 상태가 보호로 변경되었습니다. (I6cce0, b/212882845)
버그 수정
- 이제 AppCompat
Toolbar
가MenuHostHelper
의onPrepareMenu()
API를 호출합니다. (I9b9b5, b/227376894) AppCompatEditText
,AppCompatAutoCompleteEditText
,AppCompatMultiAutoCompleteEditText
가 XML에서 설정될 때 더 이상 생성자에서 clickable 또는 longClickable을 재설정하지 않습니다. (Ic5066, b/221094907)AppCompatEditText
,AppCompatAutoCompleteTextView
,AppCompatMultiAutoCompleteTextView
는 이제 생성자 중에 재정의된setKeyListener
를 호출하지 않습니다. (I5c13a, b/208480173)- Appcompat이
setKeyListener
에 전달된NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
가NumberKeyListeners
에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921) - AppCompat 1.4.0에 도입된 모든
NumberKeyListener
서브클래스에서 구두점과 같은 예기치 않은 문자가 입력되는 문제가 해결되었습니다. (Iede7a, b/207119921)
버전 1.4.2
버전 1.4.2
2022년 6월 1일
androidx.appcompat:appcompat:1.4.2
및 androidx.appcompat:appcompat-resources:1.4.2
가 출시되었습니다. 버전 1.4.2에 포함된 커밋을 확인하세요.
버그 수정
- 작업 모음이 만들어지기 전에
AppCompatDelegateImpl
이 내부적으로ensureSubDecor
를 호출하는 경우 발생하는 비정상 종료 문제를 해결했습니다. (aosp/2048349, b/226648941)
버전 1.4.1
2022년 1월 12일
androidx.appcompat:appcompat:1.4.1
및 androidx.appcompat:appcompat-resources:1.4.1
가 출시되었습니다. 버전 1.4.1에 포함된 커밋을 확인하세요.
버그 수정
AppCompatEditText
,AppCompatAutoCompleteTextView
,AppCompatMultiAutoCompleteTextView
가 생성자 중에 재정의된setKeyListener
를 호출하지 않습니다. (I5c13a, b/208480173)Emoji2
가NumberKeyListener
의 인스턴스를 래핑하지 않으므로 textview에서 언어를 구성할 수 있습니다.- AppCompat이
setKeyListener
에 전달된NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
가NumberKeyListeners
에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921)
- AppCompat이
- AppCompat 1.4.0에 도입된 모든
NumberKeyListener
서브클래스에서 구두점과 같은 예기치 않은 문자가 입력되는 문제가 해결되었습니다. (b/207119921) (Iede7a, b/207119921)
버전 1.4.0
버전 1.4.0
2021년 11월 17일
androidx.appcompat:appcompat:1.4.0
및 androidx.appcompat:appcompat-resources:1.4.0
가 출시되었습니다. 버전 1.4.0에 포함된 커밋을 확인하세요.
1.3.0 이후 중요 변경사항
- 이제 라이브러리는 자바 8 언어 수준을 타겟팅합니다.
- 업데이트 가능한 그림 이모티콘 지원은 androidx.emoji2 라이브러리를 통해 기본적으로 사용 설정됩니다.
- Android 스튜디오 Layout Inspector의 속성 검사 기능을 개선했습니다. (I02d55)
- 색조가 적용된 중첩 리소스 및 벡터 드로어블에 관한 지원이 AppCompat 리소스 로드 백포트에 추가되었습니다. 참고로, 이는 백포트가 사용 설정된 경우 앱이 맞춤 리소스 객체에서 getDrawable()을 재정의할 수 없다는 의미입니다. (Ia6b03, b/176129022)
- 색조 조정이 가능한 배경과 CheckedTextView의 체크표시를 백포팅했습니다. (I8575c)
버전 1.4.0-rc01
2021년 10월 27일
androidx.appcompat:appcompat:1.4.0-rc01
및 androidx.appcompat:appcompat-resources:1.4.0-rc01
가 출시되었습니다. 버전 1.4.0-rc01에 포함된 커밋을 확인하세요.
버전 1.4.0-beta01
2021년 9월 29일
androidx.appcompat:appcompat:1.4.0-beta01
및 androidx.appcompat:appcompat-resources:1.4.0-beta01
가 출시되었습니다. 버전 1.4.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- AndroidX AppCompat
Toolbar
는 이제MenuHost
이며MenuProvider
를 관리할 수 있습니다. (I5cd95)
버그 수정
- 레이어 목록 진행률 표시줄의 AppCompatProgressBar 처리를 수정했습니다. (I6ece3, b/142004509)
AppCompatEditText
에서android:digits
를 올바르게 유지하여 AppCompat 1.4.0-alpha03에 도입된 버그 193047889를 수정했습니다. (I4b4fc, b/193047889)- 통합된 OnReceiveContentListener SDK와 lib API를 지원합니다. (Ic6914, b/173814913)
버전 1.4.0-alpha03
2021년 6월 30일
androidx.appcompat:appcompat:1.4.0-alpha03
및 androidx.appcompat:appcompat-resources:1.4.0-alpha03
가 출시되었습니다. 버전 1.4.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 이제 라이브러리는 자바 8 언어 수준을 타겟팅합니다.
- 더 다양한 TextView 서브클래스(
AppCompatMultiAutoCompleteTextView
,AppCompatAutoCompleteTextView
,AppCompatRadioButton
,AppCompatCheckBox
)를 위한 그림 이모티콘 지원을 추가했습니다.
API 변경사항
- InputConnection.commitContent에 관한 IME 호출을 처리할 때 InputConnection에서 View.performReceiveContent를 사용하도록 구성하기 위한 API를 추가했습니다. (I3a2ad)
AppCompatMultiAutoCompleteTextView
에 EmojiCompat 지원을 추가했습니다. (Ifece0)AppCompatAutoCompleteTextView
에 EmojiCompat 지원을 추가했습니다. (Ia1f4b)AppCompatRadioButton
에 EmojiCompat 지원을 추가했습니다. (If08af)AppCompatCheckBox
에 EmojiCompat 지원을 추가했습니다. (I2b3bc)AppCompatEditText
에 nullKeyListener
를 허용합니다. 그러면 1.4-alpha01에서 AppCompatEditText에 추가된 null이 아닌 주석이 역방향이 되고, null이 전달되면 이전 동작이 복원됩니다. (I21482, b/189559345)- 플랫폼 API와의 동등성을 위해
PopupMenu.setForceShowIcon
을 추가합니다. (I43bb3, b/182789798)
버그 수정
- XML에 지정된 inputType을 재설정하여 변형을 삭제하는 AppCompatEditText의 버그를 수정했습니다. 이 버그는 AppCompat 1.4.0-alpha01에서 발생했습니다. (I9df36, b/191061070)
버전 1.4.0-alpha02
2021년 6월 2일
androidx.appcompat:appcompat:1.4.0-alpha02
및 androidx.appcompat:appcompat-resources:1.4.0-alpha02
가 출시되었습니다. 버전 1.4.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 레이아웃 ID를 사용하는
AppCompatDialogFragment
생성자를 추가했습니다. (Icbf22, b/188119987) - Layout Inspector 지원이 개선되었습니다. (I02d55)
emoji2-views-helper
의 패키지 이름이androidx.emoji2.viewsintegration
으로 바뀌었습니다. 이는 AppCompat1.4.0-alpha01
의 브레이킹 체인지이며 앱은 새로운 emoji2 버전을 사용하도록 AppCompat 종속 항목이 업데이트되었는지 확인해야 합니다. (Ie8397)
버그 수정
- 중지된 활동이 AppCompat 계측 야간 모드 변경에서 구성 변경사항을 받지 못하던 문제를 수정했습니다. (I8fa8f, b/188681415)
- XML에
android:focusable="false"
이 명시된 경우에도 뷰에 포커스 지정이 가능하던AppCompatEditText
의 버그를 수정했습니다(AppCompat1.4.0-alpha01
에서 발생한 버그) (Ib9412)
버전 1.4.0-alpha01
2021년 5월 18일
androidx.appcompat:appcompat:1.4.0-alpha01
및 androidx.appcompat:appcompat-resources:1.4.0-alpha01
가 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 다양한 AppCompat 위젯에 EmojiCompat 지원을 통합했습니다. (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c)
- 색조가 적용된 중첩 리소스 및 벡터 드로어블에 관한 지원이 AppCompat 리소스 로드 백포트에 추가되었습니다. 참고로, 이는 백포트가 사용 설정된 경우 앱이 맞춤 리소스 객체에서
getDrawable()
을 재정의할 수 없다는 의미입니다. (Ia6b03, b/176129022) - Layout Inspector 지원이 개선되었습니다. (I6d771)
버그 수정
- 윈도우 콜백을 설정한 후 setSupportActionBar를 호출하면 콜백을 덮어쓰는 시나리오가 수정되었습니다. (Ie43ee, b/186791590)
- SDK 29 및 30에서 드로어블 캐시에서 클론된 ColorStateListDrawable 리소스가 상태 변경을 수신할 때까지 기본 색상을 로드하지 않는 문제에 대한 해결 방법이 추가되었습니다. (Iedb4b)
- AppCompat 지원 뷰에서 null 맞춤 선택 작업 모드 콜백을 처리할 때 NPE를 사용하지 마세요. (I033c7, b/173435375)
종속 항목 업데이트
- AppCompat
1.5.0
에서: AppCompat은 이제 Fragment1.3.4
에 종속됩니다. (I13089) - AppCompat
1.5.0
에서: AppCompat은 이제 Activity1.2.3
에 종속됩니다. (I815b7) - AppCompat
1.5.0
에서: AppCompat은 이제 Lifecycle2.3.1
에 종속됩니다. (Ia75a1)
외부 기여
- 색조 조정이 가능한 배경과
CheckedTextView
의 체크표시를 백포팅합니다. (I8575c)
버전 1.3.1
버전 1.3.1
2021년 7월 21일
androidx.appcompat:appcompat:1.3.1
및 androidx.appcompat:appcompat-resources:1.3.1
가 출시되었습니다. 버전 1.3.1에 포함된 커밋을 확인하세요.
종속 항목 업데이트
- AppCompat은 이제 Activity
1.2.4
및 Fragment1.3.6
에 종속되어 AppCompat1.3.1
을 사용할 때 이 버전의 수정사항이 기본적으로 포함됩니다. (I8fbec)
버전 1.3.0
버전 1.3.0
2021년 5월 18일
androidx.appcompat:appcompat:1.3.0
및 androidx.appcompat:appcompat-resources:1.3.0
가 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.
1.2.0 이후 중요 변경사항
- Lollipop 이전 기기의
<include>
레이아웃 전반에 걸쳐android:theme
속성 전파 문제를 해결했습니다. - 많은 PNG 리소스를 VectorDrawable로 변환하여 라이브러리 크기를 줄였습니다.
OnReceiveContentListener
를 사용하여AppCompatEditText
에 드래그 앤 드롭 이벤트 지원이 추가되었습니다.- Android 11 창 인셋 처리의 변경사항을 지원하도록 업데이트되었습니다.
- 아이콘이 있는 메뉴 항목에 RTL 지원이 추가되었습니다.
AppCompatEditText
에 리치 콘텐츠를 삽입(예: 이미지 붙여넣기)할 수 있는 지원이 추가되었습니다.업데이트된 종속 항목:
appcompat
이 새로운 기능 및 수정을 지원하도록 다수의 전이적 종속 항목을 업데이트했습니다.- Fragment
1.1.0
에서 Fragment1.3.4
로 업데이트되었습니다. - Activity 1.0.0에서 Activity
1.2.3
으로 업데이트되었습니다. - Lifecycle
2.0.0
에서 Lifecycle2.3.1
로 업데이트되었습니다. - Core 1.3.0에서 Core
1.5.0
로 업데이트되었습니다.
- Fragment
버전 1.3.0-rc01
2021년 3월 24일
androidx.appcompat:appcompat:1.3.0-rc01
및 androidx.appcompat:appcompat-resources:1.3.0-rc01
이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- IME 콘텐츠 삽입을 처리할 때 권한이 조기에 취소되는 것을 방지합니다.
종속 항목 업데이트
- AppCompat이 이제 Activity
1.2.2
, Fragment1.3.2
, Lifecycle2.3.1
에 종속됩니다. (Ia75a1)
외부 기여
- Lollipop 이전 기기의
<include>
레이아웃 전반에 걸쳐android:theme
속성 전파 문제를 해결했습니다(Opera의 사이먼 버그너).
버전 1.3.0-beta01
2021년 1월 13일
androidx.appcompat:appcompat:1.3.0-beta01
및 androidx.appcompat:appcompat-resources:1.3.0-beta01
가 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 테마 수준의 작업 모드 드로어블이 벡터 소스로 대체되었습니다. 이로 인해 개별 아이콘의 시각적 모양이 약간 변경될 수 있습니다. (I741a6)
API 변경사항
- OnReceiveContentListener를 사용하는 AppCompatEditText에 드래그 앤 드롭(드롭 이벤트)이 통합되었습니다. (Ib26c9, b/175343405)
OnReceiveContentListener
및 관련 API가 업데이트되었습니다. 자세한 내용은 androidx.core 라이브러리 변경사항을 참고하세요. (Ib4616, b/173814913)- widget.RichContentReceiverCompat을 view.OnReceiveContentListener로 이동했습니다. (Ifdab7, b/173814913)
- 초기 주변 텍스트를 제공하고 가져오기 위한 API는
EditorInfoCompat
으로 백포팅되었습니다. 이 API를 사용하면 IME 앱에서 추가적인 IPC 지연 시간을 피할 수 있습니다. (Ie3809)
버전 1.3.0-alpha02
2020년 8월 19일
androidx.appcompat:appcompat:1.3.0-alpha02
및 androidx.appcompat:appcompat-resources:1.3.0-alpha02
가 출시되었습니다. 버전 1.3.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- AppCompatRatingBar PNG 드로어블이 벡터 소스로 대체되었습니다. 이로 인해 개별 별표의 시각적 모양이 약간 변경될 수 있습니다. (I6b99d)
- WindowInsetsCompat을 Android 11 API로 업데이트했습니다. (I3df9e)
- 아이콘이 있는 메뉴 항목에서 RTL을 지원합니다. (I2f5c5)
종속 항목 업데이트
- AppCompat에서는 종속 항목을 Fragment
1.1.0
에서 Fragment1.3.0-alpha08
로 업데이트했습니다. Fragment1.2.0
출시 노트를 검토하여 이전 Fragment 출시 버전에 도입된 주요 변경사항을 이해하는 것이 좋습니다. - AppCompat에서는 종속 항목을 Activity
1.0.0
에서 Activity1.2.0-alpha08
로 업데이트했습니다. Activity1.1.0
출시 노트를 검토하여 이전 Activity 출시 버전에 도입된 주요 변경사항을 이해하는 것이 좋습니다.- 이제
AppCompatActivity
는 Activity1.2.0-alpha08
에 도입된OnContextAvailableListener
API를 사용하여AppCompatDelegate
를 설정합니다.AppCompatActivity
의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다. (I513da)
- 이제
버전 1.3.0-alpha01
2020년 5월 20일
androidx.appcompat:appcompat:1.3.0-alpha01
및 androidx.appcompat:appcompat-resources:1.3.0-alpha01
가 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- AppCompatActivity를 확장하는 활동에서 setActionBar 플래그 호출에 새 린트 규칙을 추가합니다.
AppCompatActivity
내에서View
를 사용할 때 수명 주기2.3.0-alpha01
의ViewTreeLifecycleOwner
, 수명 주기2.3.0-alpha03
의ViewTreeViewModelStoreOwner
및 SavedState1.1.0-alpha01
의ViewTreeSavedStateRegistryOwner
지원이 추가되었습니다. (b/151603528, aosp/1300264)- 리치 콘텐츠(예: 이미지 붙여넣기) 삽입을 위한 공통 API가 추가됩니다. 새 콜백은 앱이 구현할 수 있는 단일 API를 제공하여 리치 콘텐츠를 삽입할 수 있는 여러 방법을 지원합니다. 현재 이 API는
AppCompatEditText
에만 추가되며 다음 코드 경로에 호출됩니다.- 클립보드에서 붙여넣습니다.
- IME(
InputConnection.commitContent
)에서 콘텐츠를 삽입합니다. (I22bf7)
버그 수정
- AppCompat
1.2.0-rc01
에서: AppCompat은 더 이상null
메뉴로onMenuOpened()
를 호출하지 않습니다. (b/142843126) - 테마 색상 속성을 참조하는 색상 상태 목록이 있는 텍스트 모양 스타일로 TextViewCompat.setTextAppearance를 호출할 때 이전 기기의 텍스트 링크 및 힌트 색상을 올바르게 결정합니다. (b/154702995)
버전 1.2.0
버전 1.2.0
2020년 8월 5일
androidx.appcompat:appcompat:1.2.0
및 androidx.appcompat:appcompat-resources:1.2.0
가 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 주요 변경사항
- 맞춤 언어 및 글꼴 조정을 포함하여 구성 재정의 사용 사례에 관한 지원이 수정되었습니다.
appcompat:1.2.0
을 사용하여 재정의를 올바르게 구현하는 방법에 관한 예는 여기를 참조하세요. AppCompatDelegate.attachBaseContext()
가 지원 중단되었습니다. 이 메서드를 호출하거나 재정의하려면 대신AppCompatDelegate.attachBaseContext2()
를 사용하세요.CollapsibleActionView
가 지원 중단되었습니다. 이 인터페이스는 더 이상 필요하지 않습니다. 플랫폼에서 제공하는android.view.CollapsibleActionView
인터페이스를 사용하세요.
버전 1.2.0-rc02
2020년 7월 22일
androidx.appcompat:appcompat:1.2.0-rc02
및 androidx.appcompat:appcompat-resources:1.2.0-rc02
가 출시되었습니다. 버전 1.2.0-rc02에 포함된 커밋을 확인하세요.
버그 수정
- 대화 상자에서
AppCompatDelegate.setDefaultNightMode
를 호출하면 종종 활동을 다시 만들고 새 모드를 적용하는 데 오류가 발생하는 야간 모드와 관련된 문제를 해결했습니다. (aosp/1348308, b/158923881)
버전 1.2.0-rc01
2020년 5월 14일
androidx.appcompat:appcompat:1.2.0-rc01
및 androidx.appcompat:appcompat-resources:1.2.0-rc01
가 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
API 변경사항
AppCompatDelegate.setLocalNightMode
가 이전 SDK의 활동 사이에 누출되는 구성 변경의 플랫폼 문제로 인해 SDK 버전 17 이상이 필요한 것으로 표시되었습니다.
버그 수정
- 이제
Activity.attachBaseContext
가AppCompatDelegate.setLocalNightMode
이전에 호출될 수 있습니다. - 캐시된 인셋을 잘못 사용했던
ActionBarOverlayLayout
인셋 소비가 수정되었습니다. - AppCompat은 더 이상
null
메뉴로onMenuOpened()
를 호출하지 않습니다. (b/142843126)
버전 1.2.0-beta01
2020년 4월 1일
androidx.appcompat:appcompat:1.2.0-beta01
및 androidx.appcompat:appcompat-resources:1.2.0-beta01
가 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 다음 시나리오에서 AppCompat의 잘못된 사용을 신고하는 다음과 같은 새로운 린트 규칙이 추가되었습니다.
- 색상 상태 목록 로드: 이전 버전과의 호환성을 위해
ContextCompat
및AppCompatResources
API 사용을 권장합니다. - 드로어블 로드: 이전 버전과의 호환성을 위해
ContextCompat
및ResourcesCompat
API 사용을 권장합니다. - 알파 속성이 있는 색상 상태 목록 사용: 일부 플랫폼 버전에서 잘못된 모양으로 연결되는
android:alpha
속성 누락을 신고합니다. - 이미지 뷰 색조 조정:
app:tint
를 사용하지 않아 이전 버전의 플랫폼에서 잘못 표시되는 문제를 신고합니다. - 복합 드로어블 사용 및 텍스트 뷰 색조 조정: 이전 버전과의 호환성을 위해 compat 속성 및 API 사용을 권장합니다.
- 색상 상태 목록 로드: 이전 버전과의 호환성을 위해
버그 수정
ActionBarOverlayLayout
(창 장식 작업)이 WindowInsets를 제대로 전달하지 못하는 문제가 해결되었습니다.- 이전 버전의 플랫폼에서 드로어블 및 텍스트 표시 색조 조정 문제가 해결되었습니다.
- WebView를 길게 누르면
androidx.appcompat:appcompat:1.1.0
이 WebView와 충돌하는 문제가 해결되었습니다(b/141351441). - 활동 시작시 기본 컨텍스트 조작 및 시스템 서비스 가져오기 문제에 대한 해결책이 구현되었습니다.
버전 1.2.0-alpha03
2020년 3월 4일
androidx.appcompat:appcompat:1.2.0-alpha03
및 androidx.appcompat:appcompat-resources:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
버그 수정
- 작업 모드 상태 가드가 탐색 메뉴로 잘못 확장되어 색상이 잘못되는 문제가 해결되었습니다.(Ia4a09
- API 수준 23 이하에서 중지된 활동이 재개되지 않는 문제가 해결되었습니다.(I45201)
버전 1.2.0-alpha02
2020년 1월 29일
androidx.appcompat:appcompat:1.2.0-alpha02
및 androidx.appcompat:appcompat-resources:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- WebView를 길게 누르면 appcompat 1.1.0이 WebView와 충돌하는 문제가 해결되었습니다.(b/141351441)
- API 수준 23에서 복합 드로어블과 관련하여 텍스트 뷰의 드로어블 색상 조정이 수정되었습니다.(aosp/1172194)
- 기본 컨텍스트가 항상 래퍼가 되도록 했습니다.(aosp/1194355)
- 더욱 스마트하게 기본 컨텍스트 구성을 수정하도록 개선했습니다.(aosp/1204543)
- Robolectric 에 대해
createConfigurationContext()
사용을 중지했습니다.(aosp/1186218)
버전 1.2.0-alpha01
2019년 12월 4일
androidx.appcompat:appcompat:1.2.0-alpha01
및 androidx.appcompat:appcompat-resources:1.2.0-alpha01
가 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
- 부팅 인식 확인을 사용 설정한 상태에서 엄격 모드를 사용하면 PackageManager.getActivityInfo 호출에 더 이상 오류가 발생하지 않습니다.
- AppCompatButton의 드로어블 색조 조정 문제가 수정되었습니다.
- 이전 버전의 플랫폼에서 색조 조정 및 텍스트 모양이 수정되었습니다.
버전 1.1.0
버전 1.1.0
2019년 9월 5일
androidx.appcompat:appcompat:1.1.0
및 androidx.appcompat:appcompat-resources:1.1.0
가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
1.0.0 이후 중요 변경사항
- 어두운 모드 개선: 현재 시간에 따른
MODE_NIGHT_AUTO
및 어둡게/밝게 전환이 이제 지원 중단됩니다. 명시적 설정 또는MODE_NIGHT_AUTO_BATTERY
사용을 고려하세요. - Activity 1.0:
AppCompatActivity
는 이제 Fragment1.1.0
을 통해 Activity1.0.0
의ComponentActivity
에서 전이적으로 확장됩니다. 각 라이브러리의 변경사항에 관한 자세한 내용은 관련 출시 노트를 참조하세요. - AppCompatActivity LayoutId 생성자: 이제
AppCompatActivity
의 서브클래스는R.layout
ID를 사용하는AppCompatActivity
의 생성자를 선택적으로 호출할 수 있으며 이 기능은onCreate()
의setContentView()
를 호출하는 대신 콘텐츠 뷰로 설정해야 하는 레이아웃을 나타냅니다. 그렇지만 서브클래스에 인수가 없는 생성자가 있어야 한다는 요구사항은 변경되지 않습니다.
버전 1.1.0-rc01
2019년 7월 2일
androidx.appcompat:appcompat:1.1.0-rc01
및 androidx.appcompat:appcompat-resources:1.1.0-rc01
가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버그 수정
- 이제 DayNight에서
configChanges
가 올바르게 적용됩니다. aosp/981105를 참조하세요. - 시작된 활동에서만
onConfigurationChanged
를 호출합니다. aosp/987483을 참조하세요.
버전 1.1.0-beta01
2019년 6월 5일
androidx.appcompat:appcompat:1.1.0-beta01
및 androidx.appcompat:appcompat-resources:1.1.0-beta01
가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버그 수정
- AppCompatDialog에서 수신기를 정리합니다. (aosp/959376)
- 툴바에
buttonGravity=center_vertical
지원이 추가되었습니다. (b/130361721) - 스피너 오프셋을 수정했습니다(b/79477181).
버전 1.1.0-alpha05
2019년 5월 7일
androidx.appcompat:appcompat:1.1.0-alpha05
및 androidx.appcompat:appcompat-resources:1.1.0-alpha05
이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 이제 setDefaultNightMode()는 시작된 활동을 자동으로 다시 만듭니다.
버그 수정
- DayNight 모드의 다양한 문제를 수정했습니다.
- ActionBar에서 백그라운드 변경 시 윤곽선을 무효화했습니다.
- 스피너 위젯 스크롤 문제를 수정했습니다.
- AlertDialog에서 맞춤 설정 창 배경이 재정의되는 문제를 수정했습니다.
버전 1.1.0-alpha04
2019년 4월 3일
androidx.appcompat:appcompat:1.1.0-alpha04
및 androidx.appcompat:appcompat-resources:1.1.0-alpha04
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 새
ThemeOverlay.AppCompat.DayNight
테마 제품군이 추가되었습니다. DayNight 기능을 사용할 때 이러한 테마를 사용해야 합니다.
API 변경사항
- 이제 AppCompatActivity에는
@LayoutRes int
를 사용하는 두 번째 생성자가 포함되어 있으며 이 생성자는@ContentView
로 AppCompatActivity 클래스에 주석을 다는 이전 동작을 대체합니다. 이 접근법은 앱과 라이브러리 모듈 모두에 적용됩니다. b/128352521을 참조하세요.
버그 수정
- 가능한 상황에서는 내부 종속 항목을 공개 버전에 고정했습니다.
- 드롭다운 모드에서
AppCompatSpinner
scrolling 문제를 수정했습니다. b/124274573을 참조하세요. - DayNight에 필요한 때에만
applyOverrideConfiguration()
을 호출합니다.
버전 1.1.0-alpha03
2019년 3월 13일
androidx.appcompat:appcompat:1.1.0-alpha03
및 androidx.appcompat:appcompat-resources:1.1.0-alpha03
버전이 출시되었습니다. 이 버전은 appcompat-resources
의 최초 출시입니다.
이 버전에 포함된 커밋의 전체 목록은 여기에서 확인할 수 있습니다.
새로운 기능
- 새 appcompat-resources 라이브러리에는 앱에서 이전 버전 플랫폼의 드로어블(벡터 드로어블 포함)을 로드하고 색조를 조정하는 데 사용하는 API가 포함되어 있습니다. 이 기능은 이전에 appcompat 모듈에 포함된 기능과 동일하지만 이제 위젯, 대화상자, 야간 모드 등을 포함하는 머티리얼 디자인의 전체 appcompat 백포트 오버헤드 없이 사용할 수 있습니다.
- DayNight 모드 지원과 관련한 주요 문제를 수정했습니다.
- DayNight 모드를 위한 새
MODE_NIGHT_AUTO_BATTERY
옵션 AppCompatTextView
의 드로어블 색조 조정- 이제 테마가 지정된 색상 상태 목록으로 툴바 더보기 메뉴의 스타일을 지정할 수 있습니다.
- 이제 메뉴 아이콘에서 테마 속성을 참조하는 색상을 사용할 수 있습니다.
- 툴바에서 확장 시 메뉴 콘텐츠를 제공하는 새 app:menu 속성을 설정할 수 있습니다.
버그 수정
- 버전 21에서 ImageView의 기본 색조 모드 관련 문제를 수정했습니다.
- 기기를 회전할 때 스피너 팝업이 잘못 닫히던 문제를 수정했습니다.
- DayNight가 매니페스트에서
configChanges
를 준수하지 않는 문제를 수정했습니다. MODE_NIGHT_FOLLOW_SYSTEM
으로 전환되지 않던 문제를 수정했습니다. (b/111345020 참조)- WebView가 DayNight 리소스를 재설정하는 문제를 해결했습니다. (b/37124582)
버전 1.1.0-alpha02
2019년 2월 7일
androidx.appcompat:appcompat 1.1.0-alpha02
가 출시되었습니다.
새로운 기능
- 리소스별 드로어블 처리를 후크로 추출했습니다(aosp/870976).
titleTextColor
및subtitleTextColor
툴바에서ColorStateList
를 사용하도록 허용하고setTitleTextColor
및setSubtitleTextColor
메서드의ColorStateList
오버로드를 추가했습니다. aosp/867489를 참조하세요.
버그 수정
fontFamily
가 API 24 이전에서 작동하지 않던 문제를 수정했습니다. aosp/807054를 참조하세요.- 활동이
AppCompatActivity
에서 확장될 때textFontWeight
가 작동하지 않던 버그를 수정했습니다. aosp/847640을 참조하세요. - 대화상자 모드를 사용할 때 스피너 위젯 팝업 시 제목 텍스트에서
fontFamily
에 지정된 글꼴을 사용하지 않던 버그를 수정했습니다. aosp/789994를 참조하세요. AppCompatCheckBox
및AppCompatRadioButton
위젯에서 배경 색조를 변경할 수 없던 버그를 수정했습니다. aosp/825160을 참조하세요.- AppCompat에서
android: list styles
가 재정의되지 않던 버그를 수정했습니다. aosp/862350을 참조하세요.
버전 1.1.0-alpha01
2018년 12월 3일
새로운 기능
AppCompatTextView에서는 이제
VectorDrawableCompat
과 같이 백포트된 드로어블 유형을 지원하는app:drawableLeftCompat
,app:drawableTopCompat
,app:drawableRightCompat
,app:drawableBottomCompat
,app:drawableStartCompat
,app:drawableEndCompat
복합 드로어블을 지원합니다.AppCompatCheckBox
및AppCompatRadioButton
의 기본 드로어블에서는 이제 확인 상태 변경에 애니메이션 효과를 적용합니다.
API 변경사항
- aosp/740385: ActionBarOverlayLayout은 이제 NestedScrollingParent2 및 NestedScrollingParent3을 구현하여 중첩 스크롤 3에서 최신 기능을 쉽게 활용할 수 있도록 해줍니다. 현재 개발자 코드가
ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int)
을 재정의하는 경우 이 메서드는 더 이상 호출되지 않으므로 대신ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[])
을 재정의해야 합니다.
버전 1.0.2
버전 1.0.2
2018년 11월 7일
core-1.0.1
및 appcompat-1.0.2
의 버그 수정 출시입니다.
버그 수정
PrecomputedTextCompat
이 RTLAppCompatTextView
와 함께 사용될 때 비정상 종료되는 버그가 수정되었습니다. b/113070424를 참조하세요.
버전 1.0.0
버전 1.0.0
2018년 11월 7일
새로운 기능
AnimatedStateListDrawableCompat
을 통해 애니메이션 효과가 적용된 드로어블 상태 전환이 가능합니다.