entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Icono de mi aplicación Android no se muestra

Estoy haciendo una aplicación móvil con Android nativo, y me ha resultado muy extraño que al crear la aplicación (le he añadido una imagen de icono personalizada que se muestra perfectamente), cuando se ejecuta en el emulador no se ve en el action bar el icono de mi aplicación.

¿Se puede saber a qué es debido esto?

Mi aplicación tiene un menú normal en el action bar aparece el texto a la izquierda de cada actividad, pero no se muestra el logo de la app.

Espero resolverlo gracias!

2 Respuestas

2votos

danielreales7 Puntos5380

Ya he conseguido hacerlo. Lo que hice fue, crear un nuevo layout y le inserté la imagen y el texto que quería que aparecieran.

Entonces desde la actividad hacía lo siguiente:

ActionBar actionBar = getSupportActionBar();
    actionBar.setCustomView(R.layout.actionbar_custom_view_home);
    actionBar.setDisplayUseLogoEnabled(true);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayShowHomeEnabled(true);

Donde actionbar_custom_view_home es el layout que he creado.
Y por último modificar el AndroidManifest.xml y añadir a la etiqueta <application>:

android:logo="@drawable/launcher_icon"

1voto

Leonardo-Tadei Puntos227320

Hola danielreales7,

en la sección de íconos de los assets, tenés que poner de todos los tamaños que srán necesarios para mostrarse, ya que el sistema no los escala y si no encuentra el del tamaño necesario, no muestra nada (que es lo que te está pasando)

Acá tenés documentación sobre los tamaños y en dónde se muestran cada uno: http://developer.android.com/design/style/iconography.html

Cómo hay versiones y mods de fabricantes que a veces usan tamaños siferentes, lo mejor es ponerlos a todos: 16x16, 24x24, 32x32, 48z48, 64x64, 72x72, 96x96, 128x128, etc. hasta llegar a 640x640 para las pantallas de super alta densidad.

Saludos!

0voto

danielreales7 comentado

Leonardo tengo una aplicación igual que esta, pero con el icono de la aplicación básico de android, y en las carpetas res/drawable-XX me muestra las mismas dimersiones de las imagenes que mi proyecto que no se ven las imagenes.
El icono de la aplicación en el emulador aparece pero cuando accedo a la aplicación arriba a la izquierda en el action bar no aparece.
Es raro lo que me está pasando creo yo.

0voto

Leonardo-Tadei comentado

Si tenés una aplicación en la que funciona y otra en que no funciona, debe haber alguna diferencia...

Por acá lo que siempre nos pasó en estos casos es que no existía la imagen del tamaño que hacía falta y muy raras veces que la paleta de colores no era la adecuada (es decir, que la imagen no tenía el formato corercto)

Saludos cordiales!

0voto

danielreales7 comentado

Una funciona porque el icono es el que viene por defecto en la aplicación, el otro no porque es el nuevo que yo he puesto.

0voto

Leonardo-Tadei comentado

No entiendo Daniel,

tenés dos aplicaciones, una hecha por vos que no muestra el ícono y una hecha por otros que sí lo muestra?

Cómo sospechaba más arriba, lo más probable es que te falte algún tamaño de archivo o que las imágenes no sean del formatp correcto. El depurador debería mostrarte el intento fallido de cargar una imagen... Qué mensaje de error te da?

Revisá también que no hayan cambiado la extención de un archivo y sea en realidad del formato equivocado. Por ejemplo, no se ve a simple vista que un archivo BMP renombrado a PNG está mal, y esto da este tipo de problemas.

0voto

danielreales7 comentado

Tengo 2 aplicaciones realizadas por mí, en una al configurar la aplicación dejo el icono por defecto de android (aquí si lo muestra), y en esta otra que he creado he puesto un icono creado por mí y no lo muestra.

En el depurador no me aparece nada de errores.

Y los archivos que están en las carpetas son todos .PNG

0voto

Leonardo-Tadei comentado

Podrías poner un enlace a las imagen que sí se ve y a la que no se ve (solo la del tamaño que da problemas) para que podamos cer si sacamos algo en claro?

0voto

danielreales7 comentado

Haber, creo que no me has entendido, lo que no se ve es el icono de la aplicación. Cuanto arranco en el emulador en el action bar me debería aparecer el icono de la aplicación y el nombre de la actividad, pues el caso es que solo me muestra el nombre de la actividad y el icono nunca aparece, en ninguna de las resoluciones posibles.

Te muestro el AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.cdrota"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/icon_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Noticias"
        android:label="@string/title_activity_noticias" >
    </activity>
</application>

</manifest>

En la línea que aparece android:icon="@drawable/icon_launcher" es a la que hace referencia el icono, y todas las imagenes están en sus respectivas carpetas.

Excepto en drawable-ldpi que no hay ninguna.

0voto

Leonardo-Tadei comentado

Hola Daniel,

siempre te entendí esto... y como te decía desde elprincipio, en mi experiencia era que el archivo del ícono no estaba en un formato válido de los aceptados por Android.

Cómo no nos has mostrado los archivos, no podría confirmarte si el problema es ese o no.

PD: podrías probarlo poniendo los íconos de una app en que sí te funcionen los íconos... así podrías chequear, sin enviarnos las imágenes, si el problema es ese u otro.

0voto

danielreales7 comentado

Si te soy sincero, cada proyecto nuevo que creo no me aparece ninguno el icono en la actividad, esto si que es raro.

0voto

Leonardo-Tadei comentado

Y tenés el ícono correspondiente de 32x32 para que se vea en el action bar???

0voto

danielreales7 comentado

En la carpeta drawable-hdpi es de 72x72, drawable-ldpi no hay nada, drawable-mdpi es de 48x48, drawable-xhdpi es de 96x96, drawable-xxhdpi es de 144x144.

En ningún lado tengo la de 32x32 jejeje, donde tengo que insertar esa imagen?

0voto

Leonardo-Tadei comentado

No tengo a mano un proyecto Android ahora para ver esto...

Por qué no te fijás en el directorio de las app que me comentás más arriba en las que sí aparece el ícono???

Saludos y buen fin de semana!

0voto

zgluis comentado

Concuerdo con el comentario de Leonardo, si deseas mas informacion y en español: Creación y uso de iconos. Cualquier otra duda, no dudes en preguntar.

0voto

danielreales7 comentado

Eso es lo que hice, ver los archivos del otro proyecto y compararlos con el mío pero nada.

El caso es que tengo instalado desde hace un año así en un ordenador el adt con eclipse y ahí en esos proyectos si se ve el icono, hasta en la vista en tiempo real de la actividad aparece todo el action bar.

En este caso tengo otro ordenador e instalé adt eclipse y desde que he creado el proyecto ni en la vista de la actividad aparece el action bar, y cuando ejecuto la aplicación aparece el action bar con el título de la actividad pero sin el icono, algo más extraño.

Pienso que va ser un problema del sdk o algo, tendré que probar a borrarlo y volverlo a instalar.

0voto

Leonardo-Tadei comentado

Deben ser proyectos basasos en APIs diferentes, que manejan y cargan los íconos del actionbar de diferente manera...

0voto

danielreales7 comentado

Eso también intenté cambiar el API de la aplicación y nada. Bueno gracias de todas formas!

0voto

danielreales7 comentado

 getSupportActionBar().setHomeButtonEnabled(true);
 getSupportActionBar().setDisplayUseLogoEnabled(true);
 getSupportActionBar().setLogo(R.drawable.launcher_icon);

He visto que es algo de la versión 5.0 de Android. Y he investigado un poco, pero ni así me lo muestra.
Sin embargo haciendo esto:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Me muestra el botón de atrás.
Pero aún sigue sin aparecerme el icono

0voto

danielreales7 comentado

Otra cosa que acabo de leer es que para la versión de Android 5.0 que estoy usando como API en el action bar no aparece el icono. Así que si alguien sabe como añadirlo sería de gran ayuda. Gracias!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta