Profete162 Posté(e) 27 décembre 2009 Share Posté(e) 27 décembre 2009 Bonjour à tous, J'utilise pour le moment certaines fonctions qui demandent comme paramètre un int de ressource. Cela fonctionne donc très bien quand je mets R.drawable.mypicture. Maintenant, mon problème est le suivant: cette fonction est bloquée et figée: comme paramètre, je ne peux lui mettre qu'un entier! Désireux de mettre une ressource personnalisée depuis la carte SD, j'aimerais savoir si je peux transformer un fichier PNG de la carte mémoire vers un entier de type Ressources et l'utiliser ensuite comme un élément du répertoire "drawable"? Ou alors, dois-je me concentrer vers la solution B) oublier cette fonction et trouver une alternative? Merci pour vos avis éclairés. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 27 décembre 2009 Share Posté(e) 27 décembre 2009 Je ne pense pas que ce soit possible, les ressources sont des identifiants générés au moment de la compilation par l'environnement de développement et référencent forcément un élément qui fait partie de l'apk. Quelle est exactement la méthode qui te posent problème ? en général la plupart des méthode qui demandent un int de ressource ont un équivalent qui prend un objet créé programmatiquement. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 27 décembre 2009 Auteur Share Posté(e) 27 décembre 2009 (modifié) En fait ma question vient d'ici: https://www.frandroid.com/forum/viewtopic.php?id=5766 (mais je pense que cette question en intéressera plus d'un et mérite son sujet) et la méthode ets celle ci: i.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext (getBaseContext(),R.drawable.myicon)); //l'icone qui m'intéresse Le but est de permettre à l'utilisateur de skinner toutes mes applis en mettant une activité de skin ou l'utilisateur choisit son icone et valide. Je crée alors un raccourci avec icône perso sur le bureau. Je pense que cela devrait être inclu de base dans Android et que tous les développeurs devraient le faire. Modifié 27 décembre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
feust Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 le pb c'est que le skin de l'appli est généré automatiquement et jpense pas que tu puisse le changé si facilement mon chou Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 (modifié) Si on se réfère à http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.html on tombe sur ceci dans les commentaires de private void setupShortcut() : * * {@link android.content.Intent#EXTRA_SHORTCUT_INTENT} The shortcut intent. * {@link android.content.Intent#EXTRA_SHORTCUT_NAME} The text that will be displayed with * the shortcut. * {@link android.content.Intent#EXTRA_SHORTCUT_ICON} The shortcut's icon, if provided as a * bitmap, or {@link android.content.Intent#EXTRA_SHORTCUT_ICON_RESOURCE} if provided as * a drawable resource. * * * If you use a simple drawable resource, note that you must wrapper it using * {@link android.content.Intent.ShortcutIconResource}, as shown below. This is required so * that the launcher can access resources that are stored in your application's .apk file. If * you return a bitmap, such as a thumbnail, you can simply put the bitmap into the extras * bundle using {@link android.content.Intent#EXTRA_SHORTCUT_ICON}. J'en déduis que tu peux directement coller ton bitmap dans la méthode sans te prendre la tête avec les id de ressources. Modifié 28 décembre 2009 par Nivek Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 (modifié) nivek a raison...dans ton cas il ne faut pas faire: i.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext (getBaseContext(),R.drawable.myicon)) Mais //récupérer le png en drawable Drawable toto = Drawable.createFromPath("/sdcard/toto.png"); //convertir le Drawable en Bitmap Bitmap bmp = Bitmap.createBitmap(32,32,Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bmp); toto.setBounds(0,0,32,32); toto.draw(canvas); //et créer l'intent i.putExtra(Intent.EXTRA_SHORTCUT_ICON,bmp) arf d'ailleurs je viens de voir que ça fait crasher mon home perso....je me demande bien la tête que va avoir le bitmap en Uri :s Modifié 28 décembre 2009 par popolbx Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 28 décembre 2009 Auteur Share Posté(e) 28 décembre 2009 (modifié) Oui, en fait, j'ai été chercher la complication là ou c'était tout simple! En fait, je m'étais fixé sur le fait que je ne savais pas ce qu'était un parcelable, et en fait, je pouvais mettre directement le bmp! dans la doc, j'ai vu comme parametre intent et parcelable... J'ai donc pas pensé à mettre direct un bmp! Désolé pour le dérangement! Modifié 28 décembre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 @popolbx : Euh pour créer un Bitmap depuis un fichier, une ligne suffit : http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeFile(java.lang.String) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.