2011-07-03 2 views
1

일반적으로 Android 아이콘 (예 : 상황에 맞는 메뉴 아이콘)의 경우 표준 Android 아이콘을 프로젝트에 복사합니다. 최근에 당신은 android.R.drawable.blablabla을 사용하여 시스템의 아이콘을 얻을 수 있다는 것을 깨달았습니다. 그래서 제 질문은 다른 접근법보다 한 접근법을 선호하는 이유가 있습니까?시스템에서 아이콘 사용하기 대 프로젝트로 복사하기

시스템을 사용하는 것이 더 나은 경우 XML로 어떻게 액세스합니까?

감사합니다.

답변

7

당신은 : '@android'앞에 붙이는

<Image android:src="@android:drawable/ic_menu_add" android:layout_height="wrap_content" android:layout_width="wrap_content"/> 

를 즉 그들에 액세스 할 수 있습니다. 현재 장치에 설치되어있는 ressource를 얻게되며 장치, 제조사 및 안드로이드 버전에 따라 다릅니다.

+0

사용자는 자신의 기기에서 모든 애플리케이션의 모양을 일관성있게 유지할 수 있습니다. – sarnold

+2

모두 또는 아무것도 아닙니다.시스템에서 제공하는 모든 아이콘을 사용하고 있다면 기기의 모든 앱에서 일관된 모양과 느낌을 얻을 수 있습니다. 대부분 시스템 제공 아이콘과 자신의 디자인 중 일부를 ... 잘 사용하려면 어떤 장치를 사용합니까? 일부 항목에 맞춤 아이콘을 사용하는 경우 일관된 모양을 유지하는 유일한 방법은 모든 항목에 맞춤 아이콘을 사용하는 것입니다. – adamp

3

시스템 아이콘이 향후 빌드에서 유지되거나 동일한 이름으로 유지되지 않을 수도 있으므로 프로젝트에 복사하는 것이 좋습니다. 이를 프로젝트에 복사하면 빌드 전반에 걸쳐 앱의 모양과 느낌이 일관되게 유지되고 아이콘이 항상 작동한다는 사실을 마음껏 느낄 수 있습니다. 당신이 ressource이 모양을 정확히 어떻게 대해 덜으로 관리 할 수 ​​있습니다 시스템 자원을 사용하는 경우

6

참조 시스템 이미지

일반적인 조언은 시스템 이미지를 참조하는 것입니다 가능한

  • GOOD :는 OS 레벨 (일부 아이콘이 반복 동안 변경)
  • 일치합니다
  • GOOD : 재고 UI 및 맞춤 테마로 원활하게 재생됩니다.
  • GOOD : 아파치 라이선스 (IANAL을)
  • BAD 보여줄 필요가 없습니다 : 앱의 모양을 깰 수
  • BAD : 제한에 공식적으로 내 보낸 이미지

보시다시피 두 솔루션의 단점이 있습니다. 예를 들어 흑백 브라우저 아이콘을 사용하여 브라우저에 대한 링크를 나타낼 수 있습니다. 아이콘이 공식적으로 내보내지지 않으므로 복사해야합니다. 그러나 당신은 이 경우에 사용 된 삽화의 라이센스를 따라야합니다. 이것은 (자세한 내용은 라이센스 파일의 복사본을 참조) XML에서

사용 안드로이드 오픈 소스 프로젝트 만든 콘텐츠하기 위해 속성을 포함

당신은 항상 안드로이드 사용할 수 있습니다

:에서 시스템 아이콘을 참조하는 접두사 당신의 앱. 예 이것은 "OK"텍스트처럼뿐만 아니라, 문자열 및 기타 리소스에 적용

@android:drawable/ic_menu_add 

될 것이다.