2012-06-23 4 views
1

버전 2.1 이상을 지원하는 앱을 만들고 있습니다. 지금 만들고있는 ActionBar를 디자인 할 때 사용자의 현재 테마 및/또는 Android 버전에서 사용할 수있는 드로어 블을 사용하고 싶습니다.테마를 기반으로 메뉴에서 드로어 블 아이콘 설정

Android에서 제공하는 모든 버전에서 사용 가능한 드로어 블은 매우 선명하고 모호하지 않아 내 요구에 완벽합니다. 문제가 발생했습니다. 예를 들어, 내 프로젝트 전체에서 XML 파일에 @android : drawable/ic_menu_refesh에 액세스 할 수 없습니다. 물론 특정 안드로이드 버전의 아이콘을 복사하여 사용하는 가능성이 있습니다. 그러나 모든 빌드에서 아이콘의 모든 버전을 복사하지 않고 어떤 버전의 아이콘을 추적하지 않고도이 작업을 어떻게 수행 할 것인지 실제로 볼 수는 없습니다. Android가 현재 실행 중이고 적절한 드로어 블을 참조합니다.

또 다른 문제는 센스와 같은 테마 (?)가 훨씬 더 어려워지고 있습니다. 내 응용 프로그램에서 장치의 현재 테마를 사용하고 싶습니다. 필자의 경우에는 Dark Holo 테마를 사용하는 ICS 장치와 기본 테마를 사용하는 2.3.6 장치가 있습니다. 이 경우에는 ActionBar/메뉴에 적합한 밝은 색상의 드로어 블을 선택해야합니다. 문제가 발생했습니다. HTC Sensation S에서 메뉴 항목의 배경색은 흰색으로되어있어 적절한 어두운 아이콘을 선택해야합니다.

장치의 현재 테마를 사용할 수 있고 적응 가능한 드로어 블을 제공 할 수 있도록하려면 어떻게해야합니까? & 테마 느낌이 맞나요?

답변

0

내가이 작업을 수행 할 수있는 유일한 방법은 Android에서 제공하려는 아이콘을 복사 한 다음 중간 회색 음영으로 다시 칠하는 것이 었습니다. 매우 이상적인 해결책은 아니지만해야 할 일입니다.

1

제대로 이해했다면 기본 아이콘을 참조하고 "메뉴 새로 고침 아이콘"이라고 말하면서 시스템 응용 프로그램에서와 똑같이 나타낼 수 있기를 원합니다. 나는 이것을 할 수있는 방법을 모르며, 기본 드로어 블을 참조하지 않도록 경고하는 안드로이드 문서를 읽는다. 그 아이콘은 이후 버전의 안드로이드에서 바뀔 수 있고 앱은 의도 한 것처럼 보이지 않을 것이다.

일반적으로 각 메뉴 항목/작업 표시 줄 item/notification/etc에 대한 아이콘을 직접 만들어야합니다. 다른 시스템 테마에 대한 맞춤형 기본 Android 아이콘을 만들 수있는 간단한 도구가 있습니다. res 폴더의 리소스 식별자를 사용하여 다른 API 버전/레이아웃/밀도/등에 대한 다른 아이콘을 사용할 수 있습니다.

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

당신은 ... 내가 당신이 잊고 생각하는 앱, 당신은 당신이 원하는대로 시스템 테마를 선택하거나이 수 테마를 설정하는 것입니다 회색으로 당신의 아이콘을 설정하는 이유를 이해하지 않습니다 시스템 테마에서 확장하는 사용자 정의 테마. 어둡거나 가벼운 것을 선택하든, 설정 한 주제에 대한 아이콘 만 있으면됩니다. 유일한 차이점은 차이가있는 다양한 API 버전 (예 : 메뉴 아이콘 2.2 vs 2.3 vs 3.0 이상)의 아이콘이 있는지 확인하는 것입니다. 필요한 것은 각 API 버전을 만들고 리소스 식별자를 사용하여 앱에서 적절한 것.

앱이 둘 이상의 테마를 지원하는 경우 각 테마마다 다른 아이콘을 사용할 수 있습니다. 비슷한 질문에 대한 내 답변에서 이렇게하는 방법을 참조하십시오.

Change ActionBar Menu Icons depending on Style

관련 문제