Mise en œuvre d'un éditeur de texte enrichi dans Android?
Je me demande s'il y a des bonnes options pour mettre en œuvre un éditeur de texte riche dans Android. Veuillez noter que je parle d'un riche éditeur de texte qui peut être utilisé dans une application Android, et non pas celui incorporé dans une page web à l'aide de HTML et de Javascript.
Mes besoins sont:
- Mise en forme de base (couleurs, polices, mise en évidence, gras, italique, souligné, etc.)
- Hyperliens
- Images en ligne
- Les listes à puces et des listes numérotées
- Table en ligne (uniquement le contenu à l'intérieur d'une cellule est modifiable, pas la structure de la table)
Comme vous pouvez le voir, c'est assez beaucoup à quelque chose d'assez similaire à un type de contrôle RichEdit sur Windows.
Voici quelques efforts (enquête & prototypage), j'ai fait jusqu'à présent:
À L'Aide De WebView
J'ai essayé à l'aide d'une WebView contrôle de charger un fragment HTML avec un . Le contenu devient modifiable et comme il est en HTML, je suppose qu'il peut répondre à la plupart de mes besoins. Mais il a plusieurs problèmes:
- (mortelle) Aucun signe d'insertion de texte. L'utilisateur n'aura aucune idée de l'endroit où ses caractères tapés sera inséré.
- À l'écran un clavier virtuel n'est pas visible par défaut. Il y a un truc que l'utilisateur doit appuyer longtemps sur la touche Menu pour faire apparaître le clavier. Mais je pense que c'est une très mauvaise expérience utilisateur. En outre, la disposition de l'écran n'est pas correctement modifié et le texte de l'insertion de point parfois d'être couvert par le clavier.
À L'Aide De EditText
J'ai essayé d'utiliser le EditText de contrôle. Il semble soutenir un certain niveau de l'édition de texte riche (couleur, police, gras, italique, souligné, des images, des listes à puces). Mais je n'arrive toujours pas à comprendre comment je peux mettre en œuvre les exigences suivantes:
- De contrôle de la appereance de la balle symbole (point, cercle, tableau de bord, des flèches, étoiles, etc.)
- Liste numérotée (1., 2., 3., etc.)
- Table
BTW, j'ai vu il y a plusieurs *Durée de classes là-bas, mais je ne suis pas sûr si elles peuvent être d'aucune aide... Et la http://developer.android.com ne fournissent pas beaucoup d'informations utiles à leur sujet.
Alors, comment diable puis-je mettre en œuvre un éditeur de texte riche sur Android?
Puis-je s'étend le EditText et ajouter mes nouvelles fonctionnalités? Ou dois-je faire quelque chose à partir de rien - s'étend de la Vue et de mettre en œuvre tout par moi-même? Pour plus tard option (extension de Vue), en fait, je ne sais même pas comment faire pour afficher un curseur de texte et des clignements d'yeux, de ne pas mentionging déplaçant le curseur de l'utilisateur à taper.
Je suis désespérée maintenant... un indice?
Merci!
-Tony
(MODIFIER)
Après une enquête, il semble comme l'extension de la EditText serait mon meilleur pari. J'ai un peu compris comment utiliser ces Durée de classes et suppose que je devrais être en mesure de faire la plupart des trucs en utilisant (extension) entre eux.
Par exemple, l'extension de la BulletSpan et dominante drawLeadingMargin devrait me donner le contrôle de la balle appereances. L'extension de la LeadingMarginSpan devrait m'aider sur la liste numérotée.
À la table, mon plan initial est d'étendre la LineBackgroundSpan et en tirer toutes les bordures de tableau dans la drawBackground remplacer. Cependant, j'ai encore besoin de comprendre comment la disposition de tous les le texte dans les cellules d'un tableau et de traiter correctement le signe du mouvement et de la sélection. Des Suggestions?
- Je regarderais commonsguy du Edit-A-Rama la démo comme un point de départ. Il fait usage d'une autre composante de son propre dépôt github - RichEditText.
- Cochez cette bibliothèque que je viens de téléchargé, j'espère que ça aide!
- comment ajouter des données est au format html ce richeditor vue et je souhaite modifier le même jour comment il est possible
Vous devez vous connecter pour publier un commentaire.
Je viens de publier mon éditeur de texte riche composant sous licence Apache 2.0:
https://github.com/1gravity/Android-RTEditor
Je serais probablement s'étendre à la fois
EditText
etTableLayout
ou au moins jusqu'à la fin de l'aide de la plupart de leurs source si il y avait assez grands changements que j'ai besoin de faire.Pouvez-vous faire ce qui suit:
Me semble que si vous avez de la boue sur la mise en page, vous êtes mieux de l'écrire à partir de zéro sur votre propre. À partir de ce que je me souviens de la Modifier le texte (et la richt éditeur de texte) est idéal pour quoi que ce soit où vous les données du texte pur.
Il y a un open source EditText éditeur de texte riche appelé android-richtexteditor mais le code a été inexplicablement supprimés dans r5. Le le code est toujours là dans r4; juste l'utilisation de svn pour vérifier r4 ou plus tôt pour y accéder. Le code s'affiche à l'appui de l'italique, le souligné, le sélecteur de couleurs, taille du texte, et plus encore.
Également répondu à ces questions: Un, Deux
Vous pouvez faire usage de l'une des bibliothèques suivantes:-
https://github.com/commonsguy/cwac-richedit
https://github.com/chinalwb/Android-Rich-text-Editor
https://github.com/wasabeef/richeditor-android
https://github.com/irshuLx/Android-WYSIWYG-Editor
Étendre à partir de EditText est un meilleur choix pour vous, il soutien CharacterSpan et
ParagraphSpan.
Voir mon Appli sur le Google Play:
https://play.google.com/store/apps/details?id=com.hly.notes
Cochez cette open source WordPress mobile application pour android.Il a très prometteur Richtexteditor basé sur Edittext.
Vous pouvez télécharger la source de ici
Grâce