programing

안드로이드 레이아웃 XML에서 앱:srcCompat과 안드로이드:src의 차이점

oldcodes 2023. 8. 7. 23:04
반응형

안드로이드 레이아웃 XML에서 앱:srcCompat과 안드로이드:src의 차이점

Android Studio의 Vector Assets를 사용하여 아이콘이 추가된 ImageView를 만들 때마다 줄에 오류가 발생합니다.app:srcCompat="@drawable/ic_play"

변경할 때app:srcCompat와 함께android:src오류는 사라졌지만 아이콘은 픽셀로 표시됩니다.

사이의 주요 차이점은 무엇입니까?

app:srcCompat="@drawable/ic_play"

그리고.

android:src="@drawable/ic_play"

앱:srcCompat

벡터 드로잉을 앱에 통합하는 가장 확실한 방법입니다.벡터 드로잉을 사용하면 여러 png 자산을 XML로 정의된 단일 벡터 그래픽으로 대체할 수 있습니다. 이전에는 롤리팝 이상의 장치로 제한되었습니다.

메모

Android 지원 라이브러리 23.3.0 이후 지원 벡터 드로잉은 를 통해서만 로드할 수 있습니다.

vectorDrawables.useSupportLibrary = true를 추가해야 합니다.build.gradle파일

    // Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }  

안드로이드:src

그리기 테이블을 이 이미지 보기의 내용으로 설정합니다.원래 크기로 표시됩니다.자동 스케일링 없음.

사용 중인 경우android:src="@drawable/some_vector"없이.vectorDrawables.useSupportLibrary = truebuild.gradle 파일과 앱에는 벡터 이미지가 있습니다(확장 가능). 그러면 apk 파일을 빌드하는 동안 Android gradle 플러그인은 각 벡터 그리기 가능한 화면(hdpi, xhdpi...)에서 많은 *.png 파일을 생성합니다(API = < 19만 해당).그 결과 - 더 큰 크기의 pk.

사용 시app:srcCompat="@drawable/some_vector"와 함께vectorDrawables.useSupportLibrary = true안드로이드는 생성하지 않고 벡터 그리기 가능한 파일을 사용합니다.*.png파일

Android Studio apk Analyzer 툴로 확인할 수 있습니다.사용 및 사용하지 않고 pk 구축vectorDrawables.useSupportLibrary = true.

저는 이것이 가장 큰 차이점이라고 생각합니다.

사용:

app:srcCompat="@drawable/backImage"

srcCompat 특성은 실제로 AppCompat 라이브러리 내에 정의됩니다.중요: 이 작업에 적합한 네임스페이스를 추가해야 합니다.

xmlns:app="http://schemas.android.com/apk/res-auto"

메모

당신이 받고 있는 것은 무시할 수 있는 단순한 오류인 것 같습니다.저는 같은 오류를 시도해 보았지만, 제대로 작동하고 있습니다.

사용할 수 있습니다.tools:ignore="MissingPrefix"이 오류가 일시적으로 표시되지 않도록 합니다.

이것이 도움이 되길 바랍니다.

app:srcCompat="some_resource" 

지원 라이브러리에 있는 AppCompativity src를 참조합니다.

android:src="some_resource"

단순한 활동을 말합니다.

벡터 및 애니메이션 벡터는 최신 버전의 프레임워크에서만 지원됩니다. srcCompat은 호환성 라이브러리와 함께 사용하여 사용할 수 있지만 지원 라이브러리의 특정 보기에서만 작동합니다.안드로이드: 대신 앱:이 사용된다는 점에 유의하십시오.이는 프레임워크의 일부가 아니라 앱에서 정의한 매개 변수를 의미합니다.

Android 5.0(API 레벨 21) 이상은 벡터 그리기 지원을 제공하여 이전 버전의 벡터 그리기 지원 앱:srcCompat이 추가되었습니다.

언급URL : https://stackoverflow.com/questions/40624554/difference-between-appsrccompat-and-androidsrc-in-androids-layout-xml

반응형