En esta serie de consejos rápidos, hemos estado analizando algunos de los próximos cambios en la interfaz de usuario con los que puede comenzar a trabajar hoy mismo, a través de Android O Developer Preview..
En esta última publicación de la serie, veremos cómo puede crear íconos de inicio que se integren perfectamente con la IU más amplia del dispositivo, y cómo crear accesos directos que permitan a los usuarios saltar directamente a las acciones más importantes de su aplicación, directamente desde su pantalla de inicio.
Con el lanzamiento de Android O, los fabricantes de equipos originales (OEM), como HTC y Samsung, tendrán la opción de proporcionar una máscara que el sistema aplicará a todos los iconos del iniciador de aplicaciones. Las máscaras aseguran que todos los íconos que aparecen en ese dispositivo tengan la misma forma: si el OEM proporciona una máscara circular, todos los íconos del iniciador de aplicaciones serán circulares, y si proporciona una máscara cuadrada redondeada (o "squircle"), entonces todos Los iconos tendrán esquinas redondeadas..
El objetivo de estos iconos adaptativos es proporcionar una apariencia más uniforme en el lanzador del dispositivo y en otras áreas donde los iconos del lanzador se destacan, como el de su dispositivo. Ajustes y compartiendo diálogos.
Para asegurarse de que los iconos del iniciador se muestren correctamente, independientemente de la máscara que se esté utilizando, deberá realizar algunos ajustes..
Antes de comenzar, compruebe que su Manifiesto android: icono
El atributo apunta a la imagen que desea utilizar como icono del iniciador:
Cada icono adaptable consta de una capa de fondo, una capa de primer plano y una máscara. Este último lo proporciona el OEM, pero deberá proporcionar las capas de fondo y primer plano. Para obtener los mejores resultados, estas capas deben ser PNG sin máscaras ni sombras de fondo. Ambas capas deben tener 108x108 dpi, pero el interior 72x72 dpi es el contenido que aparecerá en la ventana enmascarada, ya que el sistema reserva los 36 dpi externos alrededor del ícono para efectos visuales, como pulsos o paralaje..
Cree sus capas de fondo y primer plano y luego agréguelas a su proyecto. A continuación, crea un res / mipmap-anydpi / ic_launcher.xml archive y utilícelo para hacer referencia a los dos elementos dibujables que desea usar como capas de fondo y primer plano, por ejemplo:
http://schemas.android.com/apk/res/android ">
Dependiendo del diseño de su ícono en particular, es posible que las máscaras circulares puedan cortar algunos contenidos importantes. Si sospecha que las máscaras circulares pueden representar un problema para su ícono, puede crear un ícono circular dedicado que el sistema usará cada vez que aplique una máscara circular..
Cree este ícono circular, agréguelo a su proyecto y luego haga referencia a esta versión de su ícono en el Manifiesto de su proyecto, usando el Android: roundIcon
atributo.
Algunos dispositivos que ejecutan Android permitirán a los usuarios anclar accesos directos de aplicaciones a su iniciador. Estos accesos directos aparecen como íconos separados que el usuario inicia al tocar, exactamente de la misma manera en que interactúan con los íconos regulares del iniciador de aplicaciones..
Cada acceso directo de la aplicación hará referencia a uno o más Intentos, cada uno de los cuales inicia una acción específica dentro de su aplicación. Esto hace que los accesos directos fijados sean una excelente manera de permitir a los usuarios saltar a las tareas y contenidos más importantes de su aplicación directamente desde su pantalla de inicio. Por ejemplo, puede crear un acceso directo que lleve al usuario al último punto de guardado en su aplicación de juego, o a su contacto de uso más frecuente.
No hay límite en la cantidad de accesos directos fijados que puede ofrecer, aunque para asegurarse de que su aplicación no se haga cargo del iniciador del usuario, se recomienda que solo ofrezca cuatro accesos directos a la vez..
Para ofrecer uno o más accesos directos anclados, primero deberá crear una instancia de ShortcutManager
:
ShortcutManager myShortcutManager = context.getSystemService (ShortcutManager.class);
Luego, verifique que el dispositivo del usuario realmente admita accesos directos anclados:
if (mShortcutManager.isRequestPinShortcutSupported ())
Esto devuelve CIERTO
si el lanzador predeterminado soporta requestPinShortcut
.
Suponiendo que el dispositivo admita accesos directos dentro de la aplicación, puede crear un ShortcutInfo
objeto que contiene una ID, una intención y una etiqueta para este acceso directo en particular.
ShortcutInfo pinShortcutInfo = ShortcutInfo.Builder (contexto, "my-shortcut"); .setShortLabel (getString (R.string.shortcut_label)) .setLongLabel (getString (R.string.shortcut_long_label)) .setIcon (Icon.createWithResource (contexto, R.mipmap.ic_launcher)) .setIntent (new Intent). Uri.parse ("https://www.google.com"))) .build ();
Por último, se fija el acceso directo llamando requestPinShortcut ()
.El iniciador predeterminado recibirá esta solicitud y luego solicitará al usuario que apruebe o rechace la operación de anclaje. Si su aplicación necesita saber si la operación de anclaje fue un éxito, en este punto también puede crear un PendingIntent
objeto.
// Aquí, asumimos que nuestro proyecto ya incluye un método createShortcutResultIntent (), que devolverá el intento de transmisión // Intención pinnedShortcutCallbackIntent = createShortcutResultIntent (pinShortcutInfo); PendingIntent successCallback = PendingIntent.createBroadcast (context, 0, pinnedShortcutCallbackIntent); mShortcutManager.requestPinShortcut (pinShortcutInfo, successCallback.getIntentSender ());
Esta PendingIntent
solo enviará un resultIntent
Si la operación de anclaje es un éxito. Su aplicación no recibirá una notificación si la operación falla.
Una vez que se ha creado el pin, puede actualizar su contenido usando el actualizarShortcuts ()
método. Solo tenga en cuenta que el contenido o las acciones fijadas suelen tener una vida útil. En nuestro ejemplo de juego, el usuario puede llegar al final del juego o eliminar su archivo guardado, momento en el que su acceso directo anclado no tendrá contenido para mostrar.
Si bien es tentador reciclar un acceso directo anclado al modificar su propósito original, es mucho menos confuso para el usuario si desactiva los accesos directos que ya no son relevantes. Si un acceso directo anclado llega al final de su vida útil, puede desactivarlo llamando al disableShortcuts ()
.
En esta serie, hemos examinado algunas de las actualizaciones de la interfaz de usuario de Android O con las que puedes comenzar a experimentar hoy mismo instalando la primera Vista previa para desarrolladores. En la primera parte, le mostré cómo crear texto que se escala automáticamente según la configuración de la pantalla actual; en la segunda parte analizamos cómo agregar fuentes personalizadas a sus proyectos de Android, y en esta última publicación de la serie hemos cubierto iconos adaptados y accesos directos anclados.
Mientras estés aquí, echa un vistazo a algunas de nuestras otras publicaciones sobre el desarrollo de aplicaciones para Android!