getResources (). getColor ()는 더 이상 사용되지 않습니다
이 질문에는 이미 답변이 있습니다.
사용 : buildToolsVersion "22.0.1"
, targetSdkVersion 22
내 Gradle을 파일에.
유용한 정보 getResources().getColor(R.color.color_name)
가 더 이상 사용되지 않는다는 것을 알았습니다 .
대신 무엇을 사용해야합니까?
가장 좋은 방법은 다음을 사용하는 것 같습니다.
ContextCompat.getColor(context, R.color.color_name)
예 :
yourView.setBackgroundColor(ContextCompat.getColor(applicationContext,
R.color.colorAccent))
이것은 Marshmallow 2 매개 변수 방법 또는 Marshmallow 이전 방법을 적절히 선택합니다.
잘 그것은 안드로이드 M에서 더 이상 사용되지 않으므로 안드로이드 M 이하에서는 예외를 만들어야합니다. 기능에 현재 테마를 추가하십시오 getColor
. 으로 현재 테마를 얻을 수 있습니다 getTheme()
.
이 조각에서 트릭을 할 것입니다, 당신은 대체 할 수 getActivity()
와 getBaseContext()
, yourContext
등 현재의 상황을 유지하는
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
yourTitle.setTextColor(getActivity().getResources().getColor(android.R.color.white, getActivity().getTheme()));
}else {
yourTitle.setTextColor(getActivity().getResources().getColor(android.R.color.white));
}
* ps : 색상은 M에서 더 이상 사용되지 않지만 drawable은 L에서 더 이상 사용되지 않습니다.
Support V4 Library의 일부인 ContextCompat.getColor ()를 사용해야합니다 (따라서 이전의 모든 API에서 작동 함).
ContextCompat.getColor(context, R.color.my_color)
설명서 "M에서 시작하여 반환되는 색상은 지정된 컨텍스트 테마에 따라 스타일이 지정됩니다."문서에 지정된대로 따라서 걱정할 필요가 없습니다.
앱 build.gradle 내의 dependencies 배열에 다음을 추가하여 Support V4 라이브러리를 추가 할 수 있습니다.
compile 'com.android.support:support-v4:23.0.1'
유용한 getResources (). getColor (R.color.color_name)은 더 이상 사용되지 않습니다.
문서 에 따르면 API 레벨 21에서는 더 이상 사용되지 않습니다 .
그것은 되고 는 M 개발자 미리보기에서 더 이상 사용되지. 그러나 대체 방법 ( getColor()
색상 리소스 ID와 Resources.Theme
개체를 사용 하는 2 개의 매개 변수 )은 M Developer Preview에서만 사용할 수 있습니다.
따라서 현재 단일 매개 변수 getColor()
방법을 계속 사용하십시오 . 올해 후반 getColor()
에는 Android M 기기에서 2- 파라미터 getColor()
방식을 사용하는 것이 좋습니다. 구형 기기 에서는 더 이상 사용되지 않는 단일 파라미터 방식으로 돌아갑니다 .
참고 URL : https://stackoverflow.com/questions/31842983/getresources-getcolor-is-deprecated
'Programing' 카테고리의 다른 글
여분의 공간이있는 여러 줄 문자열 (보존 들여 쓰기) (0) | 2020.03.03 |
---|---|
클래스별로 요소를 찾는 방법 (0) | 2020.03.03 |
"연결 오류 : [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인 실패 (_ssl.c : 598)"와 함께 pip 설치가 실패합니다. (0) | 2020.03.03 |
bash : pip : 명령을 찾을 수 없습니다 (0) | 2020.03.03 |
파이썬과 리턴 매치에서 두 목록을 비교하는 방법 (0) | 2020.03.03 |