chatgpt에게 물어보았다.
=====================================
Q. 내 질문
->
안드로이드 개발에서 버튼에 이미지를 추가할때,
android:src와 app:srcCompat 두 속성의 차이점이 뭐야?
=====================================
A. chatgpt
->
android:src와 app:srcCompat는 안드로이드 앱 개발에서 이미지를 버튼 또는 다른 뷰에 추가할 때 사용되는 속성입니다. 이 두 가지의 주요 차이점은 다음과 같습니다:
1. 호환성:
android:src: 이 속성은 안드로이드 API 레벨 4부터 도입되었습니다. 이는 안드로이드 기본 이미지 뷰에 사용되는 속성이며, 벡터 이미지를 지원하지 않습니다.
app:srcCompat: 이 속성은 호환성 라이브러리인 AppCompat 라이브러리에서 제공됩니다. AppCompat은 안드로이드 버전 호환성 및 추가 기능을 제공합니다. app:srcCompat은 벡터 이미지를 포함하여 모든 버전의 안드로이드에서 이미지를 표시하는 데 사용할 수 있습니다.
벡터 이미지 지원:
2. android:src: 이 속성은 벡터 이미지를 지원하지 않습니다. 따라서 안드로이드 5.0 (롤리팝) 이전 버전의 앱에서는 벡터 이미지를 사용할 수 없습니다.
app:srcCompat: 이 속성은 벡터 이미지를 지원합니다. 따라서 안드로이드 5.0 이상의 모든 버전에서 벡터 이미지를 사용할 수 있습니다.
따라서 일반적으로 앱 개발에서는 app:srcCompat을 사용하는 것이 좋습니다. 이를 통해 모든 버전의 안드로이드에서 일관되게 이미지를 표시할 수 있습니다.
=====================================
minSdk가 android 5.0이하일 경우에만 신경쓰면 될 듯하다?
뭘쓰던 상관없을듯.
// 추가적으로 android, app속성의 차이점에 대해서도 물어보았다.
Q. xml에 android로 시작하는 속성과 app으로 시작하는 속성은 무슨 차이야?
A.
XML에서 android:로 시작하는 속성과 app:로 시작하는 속성은 안드로이드 앱 개발에서 사용되는 두 가지 다른 네임스페이스입니다. 각각의 역할과 차이는 다음과 같습니다:
- android: 속성:
- android:로 시작하는 속성은 안드로이드 플랫폼에서 기본적으로 제공되는 속성입니다.
- 이러한 속성들은 안드로이드 프레임워크에 내장되어 있으며, 안드로이드 시스템이 이해하고 처리할 수 있습니다.
- 예를 들어, android:layout_width, android:layout_height, android:text, android:id 등이 있습니다.
- 이 속성들은 안드로이드 프레임워크에 의해 런타임에 해석되고 처리됩니다.
- app: 속성:
- app:로 시작하는 속성은 주로 지원 라이브러리나 사용자 정의 라이브러리에서 제공하는 속성입니다.
- 안드로이드 앱 개발에서 추가적인 기능이나 호환성을 제공하기 위해 사용됩니다.
- 예를 들어, AndroidX 라이브러리에서는 app:srcCompat, app:layout_constraintLeft_toLeftOf 등이 있습니다.
- 이러한 속성들은 앱이 컴파일될 때 해당 라이브러리에 의해 해석되고 처리됩니다.
따라서 android:로 시작하는 속성은 안드로이드 플랫폼에서 기본적으로 제공되는 속성이며, app:로 시작하는 속성은 주로 추가적인 기능을 제공하기 위해 라이브러리에서 제공되는 속성입니다.
'Android > Kotlin in android' 카테고리의 다른 글
Button의 backgroundTint, 글자색 바꾸기 (style, selector 사용) (0) | 2024.02.23 |
---|---|
테마 보면서 머티리얼 디자인에 대해 궁금했던것들을 (0) | 2024.02.23 |
android android:gravity와 android:layout_gravity의 차이 (0) | 2023.08.25 |
RecyclerView를 연습해보았다 (공부한 자료 & 회고) (0) | 2023.04.28 |
코루틴coroutine &플로우flow 학습 했던거 회고 (0) | 2023.04.25 |