2011-12-17 2 views
0

단일 APK에서 다양한 플랫폼 버전을 지원해야하는 Android 애플리케이션에서 작업하고 있습니다. 과거에는 스타일이 Android 릴리스간에 약간 변경되었지만 레이아웃을 손상시키지 않았습니다. 시스템 기본 스타일이 크게 변경되었습니다 안드로이드 4.0 (아이스크림 샌드위치)의 출시와 새로운 위젯의 투명 배경으로 Android 플랫폼 기본 스타일 처리

는 불가능 일부 색 구성표에서 텍스트를 읽을 수 있도록 :

안드로이드 2.3.3

Android 2.3.3 visual

안드로이드 4.0 (동일 정확한 APK)

Android 4.0 visual

4.0 레이아웃은 배경이 투명하므로 검은 색 텍스트를 볼 수 없습니다.

모든 기본 Android 위젯에 대해 맞춤 스타일을 만들지 않고도 이러한 기본 스타일 변경 사항을 쉽게 처리 할 수 ​​있나요? 또는 Android 4.0에서 이전 시스템 테마를 요청할 수 있습니까? 런타임시 시스템 버전을 감지하고 글꼴 색상을 변경하지 않아도되도록 노력하고 있습니다.

답변

0

잘 오래된 테마가 있습니다. 애플리케이션의 테마를 설정 했습니까? 그렇지 않은 경우 장치 기본 테마로 이동합니다.

귀하의 활동에 대해 Theme.Black, Theme.Light 등의 테마를 명시 적으로 설정해보십시오. 테마를 기본/부모 테마로 사용하고 원하는 경우 특정 스타일을 추가하거나 일부 기본 설정을 무시할 수 있습니다.

매니페스트 파일에서 활동의 테마를 설정할 수 있습니다.

추가 옵션 : 당신이 홀로 테마를 지원하려면

, 먼저 홀로 및 다른 비 홀로그램에 대해 한 번 부모 테마를 선택하고 다음을 통해 코드의 적절한 테마를 선택

if(Build.VERSION.SDK_INT > 10) 
context.setTheme(<res_id_of_holo_them); // or dont any thing if default theme works for u 
else 
context.setTheme(<other_theme>); 

이것을 전에 호출하십시오 setContentView

+0

설정 Theme.Black은 2.3.3 스타일로 되돌아 가면서 새로운 작업 표시 줄 헤더/메뉴와 같은 ICS 관련 기능도 제거합니다. –