Hayden's Archive
[Android] android:tint 사용시 에러(안드로이드 스튜디오 최신 버전) 본문
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/banana"
android:tint="#70ff00ff" />
activity_main.xml에서 위와 같은 코드를 작성하였고 아래와 같이 에러가 발생하였다.
안드로이드 스튜디오 최신 버전에서 발생하는 이슈 사항으로, android:tint를 사용할 수 없는 에러가 발생한다.
방법 1) android:tint 대신 app:tint 사용
android:tint는 ImageView의 속성이고, app:tint는 AppCompatImageView의 속성이다.
android:가 붙는 속성은 플랫폼에 정의된 속성으로, 플랫폼 버전에 따라 차이가 발생할 수 있다.
하지만 AppCompatImageView는 AppCompat이라고 하는 안드로이드 공식 라이브러리에 포함된 위젯이므로 플랫폼에 독립적으로 작용할 수 있다.
그래서 android:tint 대신 app:tint를 사용하게 하는 듯하다.
레이아웃에는 다음과 같은 속성을 추가하고
xmlns:app="http://schemas.android.com/apk/res-auto"
android:tint 대신 app:tint를 사용한다.
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/banana"
app:tint="#70ff00ff" />
방법 2) android:tint를 사용하는 명령어 추가
아래와 같이 tools:ignore="UseAppTint"를 추가해주면 android:tint를 사용할 수 있다.
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/banana"
tools:ignore="UseAppTint"
android:tint="#70ff00ff" />