IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Liseuse numérique - gestion des pages


Sujet :

Android

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Liseuse numérique - gestion des pages
    Salut à tous !

    Je suis en train de développer une application de lecture de livres numérique et j'ai un problème concernant la gestion des pages.

    J'ai une grande chaine de caractères qui contient le texte du chapitre 1 de mon livre par exemple. Je voudrais pouvoir diviser cette chaine de caractère en pages que l'utilisateur pourrait tourner pour lire le chapitre. Mais je n'arrive pas à trouver comment diviser une chaine en pages afin que l'écran soit rempli de texte et que lorsque l'utilisateur tourne la page (change de vue) il accède à la suite.

    Merci d'avance de votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    C'est quoi exactement qui te bloque ? A quel code es-tu arrivé (et qui donc ne fonctionne pas) ?

    Parcequ'il y a plusieurs partie dans le problème:
    * La césure du texte en 'bouts' affichables (en fonction de la quantité de texte affichable)
    * L'affichage lui-même... (un bon html avec webview devrait pouvoir sortir quelque chose de propre)
    * La gestion des swipe pour "tourner" les pages
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Désolé j'ai oublié de préciser la partie qui me pose problème c'est vrai :s
    J'arrive facilement à afficher mon texte dans une Webview en mettant le html contenu dans l'epub que je lis
    La gestion des swipe j'ai encore quelques problèmes mais je devrais y arriver

    Ce qui me pose problème c'est d'arriver a déterminer la quantité de texte qui peut etre affiché dans ma webview et donc pour une page ?
    Sachant que j'ai une longue chaine qui contient tout mon chapitre. Je voudrais donc savoir combien de texte je peux faire afficher dans ma webview pour ensuite à la page suivante afficher le texte à partir de l'endroit ou ca s'est coupé à la page d'avant.
    Je sais pas si c'est bien clair c'est difficile à expliquer...

    Merci de ton aide

  4. #4
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    HMm pas évident comme sujet.

    il te faudrait déterminer la hauteur d'une ligne et savoir combien de ligne tu peux avoir dans ta zone de texte en fonction de la taille (hauteur) de l'écran.

    A partir de là tu sera en mesure de savoir le nombre de ligne possible et donc de segmenter le texte en conséquence.

    Un sujet parlant de ce problème
    http://www.developpez.net/forums/d11...-taille-texte/

    Pour obtenir la hauteur d'un ligne getLineHeight
    http://developer.android.com/referen...neHeight%28%29
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    En fait même si j'arrivais à déterminer le nombre de lignes possible (ce que j'ai presque réussi à faire) je ne pourrais pas savoir ou couper ma chaine car je ne sais pas quand s'effectue un retour à la ligne...

  6. #6
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    je ne pourrais pas savoir ou couper ma chaine car je ne sais pas quand s'effectue un retour à la ligne...
    Ne peux tu pas tout simplement recherché les retours à la ligne dans ton texte
    "\n" ou "\r\n" ?
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  7. #7
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    C'est plus compliqué que simplement couper aux '\r' \'r\n' (ce serait trop simple )

    Une recherche sur le forum donne cette discussion avec un excellent lien, et un algo 'simple':
    http://www.developpez.net/forums/d34...e-algo-cesure/
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Merci pour vos réponses mais si je suis l'algo je ne pourrais pas changer de page facilement...
    En fait mon application est une sorte de liseuse numérique j'ai dans ma chaine le texte du chapitre 1 par exemple et si l'utilisateur est à la page 1 et qu'il veut aller directement à la page 5 il faudrait que je puisse calculer quelle partie de la chaine lui afficher...

    J'avais trouvé cette discussion mais je n'arrive pas à faire marcher le code :
    http://stackoverflow.com/questions/4...ch-fits-in-a-f

    Et sinon vu que je n'y arrive pas personne ne connait une librairie Java qui crée des livres à partir de texte ?

    Merci bien

  9. #9
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Merci pour vos réponses mais si je suis l'algo je ne pourrais pas changer de page facilement...
    ???? Quel rapport entre l'algo et le changement de pages ..... ????
    En fait mon application est une sorte de liseuse numérique j'ai dans ma chaine le texte du chapitre 1 par exemple et si l'utilisateur est à la page 1 et qu'il veut aller directement à la page 5 il faudrait que je puisse calculer quelle partie de la chaine lui afficher...
    Oui, ben il suffit de "pre-parser" tout le chapitre (par exemple), ou tout le livre si on veut des pages "globales".
    On a le texte du chapitre... et une liste de "IntRange" qui spécifient les parties à afficher.... changer de page revient à changer de IntRange...
    Après ces "IntRange" peuvent être calculés pour tout le livre, ou bien simplement pour chaque chapitre (avec une indexation par chapitre obligatoire dans ce cas).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Désolé je vais peut etre poser une question bete mais qu'entends tu par une liste de "IntRange" ? j'ai cherché mais je n'ai pas trouvé a quoi cela correspond :s

  11. #11
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Pourtant... une simple recherche google....
    Premier lien:
    http://commons.apache.org/lang/api-2.../IntRange.html

    Deux entiers (int) qui définissent une distance ('range'). Soit min/max index des caractères à afficher....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  12. #12
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Même avec votre aide je ne suis toujours pas arriver à diviser mon livre en page
    Personne n'aurait une solution efficace ? c'est forcément possible vu que de nombreuses applications de livres le font...

    Merci d'avance

Discussions similaires

  1. [POO] MVC : Gestion des "pages"
    Par Dinan dans le forum Langage
    Réponses: 4
    Dernier message: 18/02/2007, 19h44
  2. Gestion des pages sous dreamweaver
    Par yerimacm dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 14/02/2007, 09h08
  3. [c#]Repeater et gestion des pages d'index
    Par pinocchio dans le forum ASP.NET
    Réponses: 3
    Dernier message: 17/10/2006, 16h35
  4. Gestion des Pages
    Par Pe04 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/02/2006, 10h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo