Comment afficher des images sous la forme de pages où une seule page est affichée à la fois sur l'écran BlackBerry. Lors du défilement vers le bas les images suivantes seront chargées au moment de l'exécution. Alors que le chargement des images ne consomme pas de temps au démarrage. J'utilise la fonction loadimage qui charge les images de la mémoire de l'appareil BlackBerry, qui charge les images à partir du chemin spécifié et les redimensionne.Comme le nombre d'images augmente, il augmente le temps de démarrage lors de l'ouverture de la fenêtre.Il y a un application (Media) dans le téléphone blackberry, où les images se chargent sans prendre de temps supplémentaire. Mon idée est d'afficher un nombre particulier d'images qui correspondent à l'écran de BlackBerry. Lorsque l'utilisateur fait défiler vers le bas de l'écran, l'application chargera et affichera plus d'images. Donc, ma question est de savoir comment détecter quand l'utilisateur atteint au fond de l'écran de BlackBerry et afficher une ligne d'images de plus.charger dynamiquement des images sur scroll dans blackberry
Répondre
Conserver le tableau d'images et l'index d'image actuel. Mettez un champ BitmapField à l'écran. Ajouter des éléments de menu pour Suivant/Préc. Sur Suivant, chargez Bitmap à partir de l'URL de l'index incrémenté, réglez-le sur BitmapField et invalidez l'écran. Sur Prev faire de même avec l'index décrémenté.
- vous pouvez utiliser le bouton aussi bien (peut-être dans la tempête) mais le menu est obligatoire
- images de charge dans des threads séparés (en particulier si elles sont stockées dans le Web)
- vous pouvez implémenter la mise en cache (en mémoire de l'application ou en enregistrant des images sur le stockage de l'appareil)
- un champ de texte peut être utile (nom de fichier, type, taille, etc dimentions)
MISE à JOUR A cet effet, vous pouvez utiliser ScrollChangeListener
essayer ce code:
class Scr extends MainScreen implements ScrollChangeListener {
static int mRowNumber = 0;
public Scr() {
getMainManager().setScrollListener(this);
//preload some images on the start
for (int i = 0; i < 20; i++) {
mRowNumber = i;
add(new BitmapField(downloadBitmap(), FOCUSABLE));
}
}
public static Bitmap downloadBitmap() {
Bitmap result = new Bitmap(200, 80);
Graphics g = new Graphics(result);
g.drawRect(0, 0, 200, 80);
g.drawText("row #" + String.valueOf(mRowNumber), 30, 30);
return result;
}
public void scrollChanged(final Manager manager, int newHorizontalScroll,
int newVerticalScroll) {
int testBottomScroll = manager.getVirtualHeight()
- manager.getVisibleHeight();
if (testBottomScroll == newVerticalScroll) {
mRowNumber++;
(new Thread(new Runnable() {
public void run() {
// simulating download
Bitmap bitmap = downloadBitmap();
// update ui in thread safe way
addBitmap(bitmap);
}
})).start();
}
}
public void addBitmap(final Bitmap bitmap) {
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
getMainManager().add(new BitmapField(bitmap, FOCUSABLE));
}
});
}
}
PS problème avec cette approche est que vous serez en mesure d'attraper l'événement de défilement que s'il y a assez d'images à l'écran. Envisagez d'utiliser Screen.navigationMovement(int, int, int, int) puis. Et n'oubliez pas de le tester avec la molette et l'écran tactile.
Btw mon avis est qu'il serait préférable de charger toutes les images à la fois en utilisant une file d'attente de fil (si les images seront chargées sans ui verrouillage de manière asynchrone)
- 1. modifier les images backgoroun dynamiquement eclipse blackberry
- 2. Comment charger des images dynamiquement dans Crystal Reports XI
- 3. Flex: Charger dynamiquement des images et des swf
- 4. Charger les images générées dynamiquement du cache
- 5. Charger des images dans l'application WPF
- 6. Comment charger dynamiquement des images et des fragments dans des formulaires LiveCycle Designer?
- 7. Charger dynamiquement l'image sur Silverlight
- 8. jQuery - Charger des images dans une galerie?
- 9. Charger dynamiquement des polices dans Flex/AS3
- 10. Ninject: Charger dynamiquement des modules dans Silverlight
- 11. Charger des images par programmation dans Flex
- 12. Comment charger des images dans uitableview?
- 13. Afficher dynamiquement des images sur des cellules tableview
- 14. Charger dynamiquement des fichiers Javascript et charger des événements d'achèvement
- 15. Charger dynamiquement l'image dans ImageView dans Android
- 16. Existe-t-il des modèles standard pour implémenter une classe pour charger dynamiquement des images?
- 17. Scroll Iframe sur IPhone
- 18. Pouvez-vous superposer des images transparentes dans Blackberry Apps?
- 19. Basic HTML/Javascript - Création d'un navigateur d'image - Comment charger dynamiquement des images?
- 20. Comment charger des images du dossier Documents qui ont été sauvées dynamiquement?
- 21. Comment charger une activité avant de charger toutes les images?
- 22. Silverlight: Comment dessiner des images dynamiquement?
- 23. Charger les images dans ImageView dans Android
- 24. .Net dynamiquement charger DLL
- 25. ajouter dynamiquement des images au widget galerie
- 26. réutiliser conteneur div pour charger des images
- 27. ASP.Net charger des images après le fond
- 28. façons de charger des images en AS3
- 29. comment charger un img inséré dynamiquement d'abord
- 30. Comment charger dynamiquement MathJax?
Ajout d'informations en question – Maneesh