2011-06-14 5 views
16

Android OS에서 제공하는 기본 메뉴 아이콘 중 일부를 사용하고 싶습니다.OS에서 제공하는 메뉴 아이콘을 사용해야하는 이유는 무엇입니까?

<item android:id="@+id/menu_refresh" 
    android:icon="@android:drawable/ic_menu_refresh" 
    android:title="@string/menu_refresh" /> 

그러나 documentation이이 충고를 듣지 않는 말한다 :

android menu icons

XML은이 같은 것이다.

경고 :이 자원과, 당신 ( android.R.drawable에서 즉 메뉴 아이콘) 안드로이드 플랫폼 리소스 ID를 를 사용하여 이러한 아이콘을 플랫폼 버전 사이 변화를 참조하지 않아야 수 있기 때문이다.

나는 디자인 는 OS에서 OS에 변화를 않기 때문에 기본 아이콘을 사용하여 전체 요점은 생각했다. 기본 아이콘을 사용하면 앱이 실행중인 OS에 맞게 보이고 느껴집니다. 그렇다면 기본 아이콘을 사용하는 것에 대해 나쁨은 무엇입니까? 이 아닌 것 같아요. 기본 아이콘을 사용하면 앱의 모양이 손상 될 수 있습니다.

답변

11

의 자신의 세트를 포함하는 가장 좋은 것입니다 공전.
이 아이콘의 이름이 변경되어 크기가 변경되어 앱과 호환되지 않을 수 있습니다.
당신은 당신이에 의해 제공 만이 아이콘을 사용하여, 당신은 실제로 당신이 안드로이드 OS에서 제공하는 메뉴 아이콘을 사용할 수 here

+0

나는 분, 목표 및 최대 SDK가있는 이유를 생각했다. – Dane411

+2

링크가 죽었다. – katzenhut

0

운영 체제가 수행하는 관련 작업과 약간 다른 작업을 사용자가 수행하는 경우에는 다른 이유가 없다고 생각할 수 없습니다. exagerated 인스턴스의 경우 휴지통 버튼이 있으면 새 위젯을 만든 장소가됩니다. 하지만 운영체제와 비슷한 운영체제를 유지한다면 그럴 것입니다. 그렇다면 괜찮습니다. 사실 나는 당신과 동의한다, 그것도 애플 리케이션을 위해 더 잘 보일지도 모른다.

0

문제는 각 이동 통신사 또는 공장에서 OS에 대해 수행하는 "사용자 정의"이므로 문제가 존재하거나 사용과 일치한다고 가정 할 수 없습니다. 어쨌든, 당신이 좋아한다면, 사용자 정의와 상관없이 표준으로 보이기 때문에 드로어 블에 복사 할 수 있습니다.

+0

각 Android 버전의 스타일이 서로 다른 것으로 생각했습니다. – JoJo

+0

그건 기능이 아닙니다. 사용성 문제입니다. – AlfredoVR

3

안드로이드의 일부 구성에는 다음 리소스가 없습니다. HTC Sense, Samsung TouchWiz.

할 수있는 일은 sdkFolder/platforms/platform - #/data/res /에서 원하는 드로어 블을 찾아 프로젝트에 가져다 놓는 것입니다. 그런 다음 일반 자원 (@ 드로어 블/아이콘)처럼 참조하십시오. 또한

0

또 다른 안드로이드 버전 안드로이드 버전에 따라 다를 수 있습니다 .. 그래서 당신은 구글이 될 것입니다 보장하지 않는 종속성에 추가되는 문제가 아이콘

+2

그게 핵심입니다.** ** 버전이 다르기 때문에 ** 내 앱이 미학적으로 적합하다. – JoJo

1

IMO 사용할 수있는 것들을 사용할 수 있으며, 아이콘은 현재 구글의 것과 동일 할 경우 OS를 선택하십시오. 다른 아이콘 (예 : refresh)이 필요하면 다른 아이콘의 이미지도 복사해야합니다. 그렇지 않으면 자신의 아이콘과 OS 아이콘을 함께 사용하면 일부 장치에서 시각적 스타일이 크게 달라질 수 있습니다.

관련 문제