2011-06-14 10 views
16

Me gustaría utilizar algunos de los iconos de menú predeterminados proporcionados por el sistema operativo Android.¿Por qué no debería usar los íconos de menú provistos por el sistema operativo?

android menu icons

El XML sería algo como esto:

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

Pero el documentation dice que esto es imprudente.

Advertencia: Debido a que estos recursos pueden el cambio entre las versiones de la plataforma, que no deben hacer referencia a estos iconos usando los ID de los recursos plataforma Android (es decir, los iconos del menú bajo android.R.drawable).

pensé que el punto central de la utilización de los iconos por defecto se debe a que el diseño hace cambio de OS a OS. Al usar los iconos predeterminados, su aplicación se verá y se sentirá apropiada para el sistema operativo en el que se está ejecutando. Entonces, ¿qué tiene de malo utilizar los iconos predeterminados? Parece que no usando los iconos predeterminados dañaría la apariencia de la aplicación.

Respuesta

11

El problema es que está agregando en una dependencia que Google no garantiza que será estático.
Los nombres de estos iconos podrían cambiar, el tamaño podría cambiar y ser incompatible con su aplicación.
Si quieren iconos a ser los mismos que los actuales los de Google, puede utilizar los que están disponibles here

+0

Pensé que era por eso que tenías un min, target y max sdk – Dane411

+2

ese enlace está muerto ... – katzenhut

0

Realmente no puedo pensar en una razón que no sea otra que si su operación hace algo más que ligeramente diferente de la acción asociada que hace el sistema operativo. Para una instancia exagerada, si tuvieras tu botón de papelera, sería el lugar donde creaste los nuevos widgets. Pero creo que si mantienes las operaciones similares a las del sistema operativo, entonces estás bien. De hecho, estoy de acuerdo contigo, incluso puede ser mejor para la aplicación.

0

El problema es con las "personalizaciones" que cada operador o fábrica realiza en el sistema operativo, por lo que no puede suponer que están presentes o que coinciden con el uso. De todos modos, si te gustan, puedes copiarlos a tus objetos descartables, ya que se verán estándar sin importar las personalizaciones.

+0

Pensé que cada versión de Android tiene diferentes estilos. – JoJo

+0

Eso no es una característica, es un problema de usabilidad. – AlfredoVR

3

Es muy posible que algunas configuraciones de Android NO tengan estos recursos leídos: HTC Sense, Samsung TouchWiz.

Lo que puede hacer es encontrar los productos desechables que desee en su sdkFolder/plataformas/plataforma - #/data/res/y colocarlos en su proyecto. Luego haga referencia a ellos como lo haría con cualquier recurso normal (@ drawable/icon).

0

también puede variar en cada versión de Android para otra versión androide .. Así que lo mejor sería incluir su propio conjunto de iconos

+2

Ese es el punto.Yo ** quiero ** que varíe de una versión a otra para que mi aplicación encaje estéticamente. – JoJo

1

OMI, en la práctica se puede utilizar iconos de menú proporcionadas por el sistema operativo Android, siempre que utilice sólo los iconos proporcionados por Sistema operativo para todos sus elementos de menú. Si necesita otro ícono (por ejemplo, refresh), también necesitará copiar imágenes para otros íconos. De lo contrario, si mezcla sus propios iconos y los del sistema operativo, los estilos visuales pueden diferir significativamente en algunos dispositivos.

Cuestiones relacionadas