AppCompat

이전 API 버전의 플랫폼에서 새 API에 액세스할 수 있습니다(대부분 Material Design 사용).
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2023년 7월 26일 1.6.1 - - 1.7.0-alpha03

종속 항목 선언

Appcompat의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    def appcompat_version = "1.6.1"

    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.6.1"

    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-alpha03

2023년 7월 26일

androidx.appcompat:appcompat:1.7.0-alpha03androidx.appcompat:appcompat-resources:1.7.0-alpha03가 출시되었습니다. 버전 1.7.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • Activity가 아닌 컨텍스트에서 앱별 언어 가져오기를 지원합니다. (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)

버그 수정

  • 이제 AppCompatDialogViewTree 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-alpha02androidx.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-alpha01androidx.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.1androidx.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-rc01androidx.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-beta01androidx.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)
  • 이제 AppCompatLifecycle 2.5.1SavedState 1.2.0에 명시적으로 종속됩니다. (I7e3e2)
  • AppCompatDelegateAppCompat에서 제공하는 툴바 구현에 후방 호출 콜백 지원이 추가되었습니다. (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-alpha05androidx.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-alpha04androidx.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-alpha03androidx.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-alpha01androidx.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.1androidx.appcompat:appcompat-resources:1.5.1가 출시되었습니다. 버전 1.5.1에 포함된 커밋을 확인하세요.

종속 항목 업데이트

버전 1.5.0

버전 1.5.0

2022년 8월 10일

androidx.appcompat:appcompat:1.5.0androidx.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-rc01androidx.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-beta01androidx.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)
  • ActionMenuItemViewclassName 값을 Button으로 처리하도록 변경합니다. (I5ee1c)

버전 1.5.0-alpha01

2022년 4월 6일

androidx.appcompat:appcompat:1.5.0-alpha01androidx.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 ToolbarMenuHostHelperonPrepareMenu() API를 호출합니다. (I9b9b5, b/227376894)
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText가 XML에서 설정될 때 더 이상 생성자에서 clickable 또는 longClickable을 재설정하지 않습니다. (Ic5066, b/221094907)
  • AppCompatEditText, AppCompatAutoCompleteTextView, AppCompatMultiAutoCompleteTextView는 이제 생성자 중에 재정의된 setKeyListener를 호출하지 않습니다. (I5c13a, b/208480173)
  • Appcompat이 setKeyListener에 전달된 NumberKeyListener의 인스턴스를 래핑하지 않으므로 TextViewNumberKeyListeners에서 언어를 올바르게 구성할 수 있습니다. (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.2androidx.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.1androidx.appcompat:appcompat-resources:1.4.1가 출시되었습니다. 버전 1.4.1에 포함된 커밋을 확인하세요.

버그 수정

  • AppCompatEditText, AppCompatAutoCompleteTextView, AppCompatMultiAutoCompleteTextView가 생성자 중에 재정의된 setKeyListener를 호출하지 않습니다. (I5c13a, b/208480173)
  • Emoji2NumberKeyListener의 인스턴스를 래핑하지 않으므로 textview에서 언어를 구성할 수 있습니다.
    • AppCompat이 setKeyListener에 전달된 NumberKeyListener의 인스턴스를 래핑하지 않으므로 TextViewNumberKeyListeners에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921)
  • AppCompat 1.4.0에 도입된 모든 NumberKeyListener 서브클래스에서 구두점과 같은 예기치 않은 문자가 입력되는 문제가 해결되었습니다. (b/207119921) (Iede7a, b/207119921)

버전 1.4.0

버전 1.4.0

2021년 11월 17일

androidx.appcompat:appcompat:1.4.0androidx.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-rc01androidx.appcompat:appcompat-resources:1.4.0-rc01가 출시되었습니다. 버전 1.4.0-rc01에 포함된 커밋을 확인하세요.

버전 1.4.0-beta01

2021년 9월 29일

androidx.appcompat:appcompat:1.4.0-beta01androidx.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-alpha03androidx.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에 null KeyListener를 허용합니다. 그러면 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-alpha02androidx.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으로 바뀌었습니다. 이는 AppCompat 1.4.0-alpha01의 브레이킹 체인지이며 앱은 새로운 emoji2 버전을 사용하도록 AppCompat 종속 항목이 업데이트되었는지 확인해야 합니다. (Ie8397)

버그 수정

  • 중지된 활동이 AppCompat 계측 야간 모드 변경에서 구성 변경사항을 받지 못하던 문제를 수정했습니다. (I8fa8f, b/188681415)
  • XML에 android:focusable="false"이 명시된 경우에도 뷰에 포커스 지정이 가능하던 AppCompatEditText의 버그를 수정했습니다(AppCompat 1.4.0-alpha01에서 발생한 버그) (Ib9412)

버전 1.4.0-alpha01

2021년 5월 18일

androidx.appcompat:appcompat:1.4.0-alpha01androidx.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)

종속 항목 업데이트

외부 기여

  • 색조 조정이 가능한 배경과 CheckedTextView의 체크표시를 백포팅합니다. (I8575c)

버전 1.3.1

버전 1.3.1

2021년 7월 21일

androidx.appcompat:appcompat:1.3.1androidx.appcompat:appcompat-resources:1.3.1가 출시되었습니다. 버전 1.3.1에 포함된 커밋을 확인하세요.

종속 항목 업데이트

  • AppCompat은 이제 Activity 1.2.4Fragment 1.3.6에 종속되어 AppCompat 1.3.1을 사용할 때 이 버전의 수정사항이 기본적으로 포함됩니다. (I8fbec)

버전 1.3.0

버전 1.3.0

2021년 5월 18일

androidx.appcompat:appcompat:1.3.0androidx.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에서 Fragment 1.3.4로 업데이트되었습니다.
    • Activity 1.0.0에서 Activity 1.2.3으로 업데이트되었습니다.
    • Lifecycle 2.0.0에서 Lifecycle 2.3.1로 업데이트되었습니다.
    • Core 1.3.0에서 Core 1.5.0로 업데이트되었습니다.

버전 1.3.0-rc01

2021년 3월 24일

androidx.appcompat:appcompat:1.3.0-rc01androidx.appcompat:appcompat-resources:1.3.0-rc01이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • IME 콘텐츠 삽입을 처리할 때 권한이 조기에 취소되는 것을 방지합니다.

종속 항목 업데이트

외부 기여

  • Lollipop 이전 기기의 <include> 레이아웃 전반에 걸쳐 android:theme 속성 전파 문제를 해결했습니다(Opera의 사이먼 버그너).

버전 1.3.0-beta01

2021년 1월 13일

androidx.appcompat:appcompat:1.3.0-beta01androidx.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-alpha02androidx.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에서 Fragment 1.3.0-alpha08로 업데이트했습니다. Fragment 1.2.0 출시 노트를 검토하여 이전 Fragment 출시 버전에 도입된 주요 변경사항을 이해하는 것이 좋습니다.
  • AppCompat에서는 종속 항목을 Activity 1.0.0에서 Activity 1.2.0-alpha08로 업데이트했습니다. Activity 1.1.0 출시 노트를 검토하여 이전 Activity 출시 버전에 도입된 주요 변경사항을 이해하는 것이 좋습니다.
    • 이제 AppCompatActivityActivity 1.2.0-alpha08에 도입된 OnContextAvailableListener API를 사용하여 AppCompatDelegate를 설정합니다. AppCompatActivity의 서브클래스에 추가된 모든 리스너는 이 리스너 이후에 실행됩니다. (I513da)

버전 1.3.0-alpha01

2020년 5월 20일

androidx.appcompat:appcompat:1.3.0-alpha01androidx.appcompat:appcompat-resources:1.3.0-alpha01가 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • AppCompatActivity를 확장하는 활동에서 setActionBar 플래그 호출에 새 린트 규칙을 추가합니다.
  • AppCompatActivity 내에서 View를 사용할 때 수명 주기2.3.0-alpha01ViewTreeLifecycleOwner, 수명 주기2.3.0-alpha03ViewTreeViewModelStoreOwnerSavedState 1.1.0-alpha01ViewTreeSavedStateRegistryOwner 지원이 추가되었습니다. (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.0androidx.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-rc02androidx.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-rc01androidx.appcompat:appcompat-resources:1.2.0-rc01가 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.

API 변경사항

  • AppCompatDelegate.setLocalNightMode가 이전 SDK의 활동 사이에 누출되는 구성 변경의 플랫폼 문제로 인해 SDK 버전 17 이상이 필요한 것으로 표시되었습니다.

버그 수정

  • 이제 Activity.attachBaseContextAppCompatDelegate.setLocalNightMode 이전에 호출될 수 있습니다.
  • 캐시된 인셋을 잘못 사용했던 ActionBarOverlayLayout 인셋 소비가 수정되었습니다.
  • AppCompat은 더 이상 null 메뉴로 onMenuOpened()를 호출하지 않습니다. (b/142843126)

버전 1.2.0-beta01

2020년 4월 1일

androidx.appcompat:appcompat:1.2.0-beta01androidx.appcompat:appcompat-resources:1.2.0-beta01가 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

  • 다음 시나리오에서 AppCompat의 잘못된 사용을 신고하는 다음과 같은 새로운 린트 규칙이 추가되었습니다.
    • 색상 상태 목록 로드: 이전 버전과의 호환성을 위해 ContextCompatAppCompatResources API 사용을 권장합니다.
    • 드로어블 로드: 이전 버전과의 호환성을 위해 ContextCompatResourcesCompat 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-alpha03androidx.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-alpha02androidx.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-alpha01androidx.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.0androidx.appcompat:appcompat-resources:1.1.0가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

1.0.0 이후 중요 변경사항

  • 어두운 모드 개선: 현재 시간에 따른 MODE_NIGHT_AUTO 및 어둡게/밝게 전환이 이제 지원 중단됩니다. 명시적 설정 또는 MODE_NIGHT_AUTO_BATTERY 사용을 고려하세요.
  • Activity 1.0: AppCompatActivity는 이제 Fragment 1.1.0을 통해 Activity 1.0.0ComponentActivity에서 전이적으로 확장됩니다. 각 라이브러리의 변경사항에 관한 자세한 내용은 관련 출시 노트를 참조하세요.
  • AppCompatActivity LayoutId 생성자: 이제 AppCompatActivity의 서브클래스는 R.layout ID를 사용하는 AppCompatActivity의 생성자를 선택적으로 호출할 수 있으며 이 기능은 onCreate()setContentView()를 호출하는 대신 콘텐츠 뷰로 설정해야 하는 레이아웃을 나타냅니다. 그렇지만 서브클래스에 인수가 없는 생성자가 있어야 한다는 요구사항은 변경되지 않습니다.

버전 1.1.0-rc01

2019년 7월 2일

androidx.appcompat:appcompat:1.1.0-rc01androidx.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-beta01androidx.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-alpha05androidx.appcompat:appcompat-resources:1.1.0-alpha05이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

버그 수정

  • DayNight 모드의 다양한 문제를 수정했습니다.
  • ActionBar에서 백그라운드 변경 시 윤곽선을 무효화했습니다.
  • 스피너 위젯 스크롤 문제를 수정했습니다.
  • AlertDialog에서 맞춤 설정 창 배경이 재정의되는 문제를 수정했습니다.

버전 1.1.0-alpha04

2019년 4월 3일

androidx.appcompat:appcompat:1.1.0-alpha04androidx.appcompat:appcompat-resources:1.1.0-alpha04 버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • ThemeOverlay.AppCompat.DayNight 테마 제품군이 추가되었습니다. DayNight 기능을 사용할 때 이러한 테마를 사용해야 합니다.

API 변경사항

  • 이제 AppCompatActivity에는 @LayoutRes int를 사용하는 두 번째 생성자가 포함되어 있으며 이 생성자는 @ContentView로 AppCompatActivity 클래스에 주석을 다는 이전 동작을 대체합니다. 이 접근법은 앱과 라이브러리 모듈 모두에 적용됩니다. b/128352521을 참조하세요.

버그 수정

  • 가능한 상황에서는 내부 종속 항목을 공개 버전에 고정했습니다.
  • 드롭다운 모드에서 AppCompatSpinnerscrolling 문제를 수정했습니다. b/124274573을 참조하세요.
  • DayNight에 필요한 때에만 applyOverrideConfiguration()을 호출합니다.

버전 1.1.0-alpha03

2019년 3월 13일

androidx.appcompat:appcompat:1.1.0-alpha03androidx.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).
  • titleTextColorsubtitleTextColor 툴바에서 ColorStateList를 사용하도록 허용하고 setTitleTextColorsetSubtitleTextColor 메서드의 ColorStateList 오버로드를 추가했습니다. aosp/867489를 참조하세요.

버그 수정

  • fontFamily가 API 24 이전에서 작동하지 않던 문제를 수정했습니다. aosp/807054를 참조하세요.
  • 활동이 AppCompatActivity에서 확장될 때 textFontWeight가 작동하지 않던 버그를 수정했습니다. aosp/847640을 참조하세요.
  • 대화상자 모드를 사용할 때 스피너 위젯 팝업 시 제목 텍스트에서 fontFamily에 지정된 글꼴을 사용하지 않던 버그를 수정했습니다. aosp/789994를 참조하세요.
  • AppCompatCheckBoxAppCompatRadioButton 위젯에서 배경 색조를 변경할 수 없던 버그를 수정했습니다. 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 복합 드로어블을 지원합니다.

  • AppCompatCheckBoxAppCompatRadioButton의 기본 드로어블에서는 이제 확인 상태 변경에 애니메이션 효과를 적용합니다.

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.1appcompat-1.0.2의 버그 수정 출시입니다.

버그 수정

  • PrecomputedTextCompat이 RTL AppCompatTextView와 함께 사용될 때 비정상 종료되는 버그가 수정되었습니다. b/113070424를 참조하세요.

버전 1.0.0

버전 1.0.0

2018년 11월 7일

새로운 기능