Olivier69 Posted April 14, 2010 Share Posted April 14, 2010 Bonjour, J'ai fait un widget mais j'aimerais que l'utilisateur puisse changer de thème à volonté. Alors je me suis dit que le mieux était de remplacer les drawables dans les ressources par des images stockées en mémoire (sdcard). Je sais qu'on peut transformer une bitmap en drawable, mais je ne sais pas comment remplacer l'ancienne drawable que je veux remplacer. J'imagine un truc avec inputStream et outputStream mais il me faudrait aussi une Uri. Si qqun à une idée, je l'en remercierais de la partager! Link to comment Share on other sites More sharing options...
popolbx Posted April 14, 2010 Share Posted April 14, 2010 lol....c'est la mode.... bon blague à part c'est simple: ne fais pas ton widget en dur dans le xml. laisse les images vides, et remplit les dans le code : updateViews.setImageViewUri(R.id.tonimage, Uri.parse("/sdcard/Tonimage.png")); Link to comment Share on other sites More sharing options...
Olivier69 Posted April 23, 2010 Author Share Posted April 23, 2010 J'ai mis un peut de temps à répondre! pardon! Oui j'ai envisagé cette possibilité mais il y a deux problèmes. 1) on ne peut changer la background de cette façon... 2)si carte sd est cours de lecture sur l'ordi ou retirée, ça va aboutir a un plantage lors du rafraichissement... c'est ces deux points qui m'intéressent. Link to comment Share on other sites More sharing options...
Profete162 Posted April 23, 2010 Share Posted April 23, 2010 1) on ne peut changer la background de cette façon... Il existe une propriété "maImageView.setBackgroundDrawable(monDrawable)" qui te permettra de changer facilement les fonds. C'est ce que j'utilise et cela ne m'a jamais posé de soucis. 2)si carte sd est cours de lecture sur l'ordi ou retirée, ça va aboutir a un plantage lors du rafraichissement...c'est ces deux points qui m'intéressent. Effectivement, on peut voir cela dans les widget "pure" de koxx, freedhome, et plein d'autres applis dont les miennes, il n'aime pas vraiment qu'on retire la carte SD. Je suis en train de plancher sur la sauvegarde des images dans une base de données sqlite ( sous forme de blob) pour ne plus avoir de soucis. Je mettrai le code une fois que j'y serai arrivé. J'en avais déjà parlé il y a treeess longtemps: https://forum.frandroid.com/forum/viewtopic.php?id=5850 Link to comment Share on other sites More sharing options...
Olivier69 Posted April 25, 2010 Author Share Posted April 25, 2010 Merci pour ces infos, je vais les exploiter au mieux. Link to comment Share on other sites More sharing options...
Olivier69 Posted April 26, 2010 Author Share Posted April 26, 2010 Je crois que j'ai pas trop compris. ImageView i=new ImageView(context); i.setBackgroundResource(R.drawable.eph_background); si ici je cré un nouveau background, comment je l'applique ensuite à ma view? Parce que là, il se passe rien... (Je précise que je suis sur un appWidget, et que je ne peux pas utiliser les méthodes dans View.) Link to comment Share on other sites More sharing options...
Fluckysan Posted April 26, 2010 Share Posted April 26, 2010 Il ne se passe rien parce qu'il faut dire au provider de ton Widget de rafraîchir ce Widget :/ Il faut que tu nous dises à quel moment tu utilises ce code Link to comment Share on other sites More sharing options...
jimmy Posted August 21, 2010 Share Posted August 21, 2010 Bonsoir, Je me permet de reprendre se post car j'essai justement de changer dynamiquement le background du linearLayout de mon widget mais je ne sais pas comment mis prendre. Certe il y a la methode setBackgroundDrawable qui réalise se que je veux (en théorie) mais je ne sais pas comment récupéré mon linearLayout pour lui appliquer. Pour les acitivity il y a le findviewbyid mais cette methode n'existe pas pour les widget :( Merci pour votre aide, je suis débutant et n'ai pas encore tous les concepts. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.