French Scroll ajustement

jojo12

Member
Licensed User
Depuis le Scroll, le bas de l'AutoCompleteEditText est caché lorsque le clavier est sollicité.

Ensuite, si je supprime des lignes dans l'AutoCompleteEditText, une bande blanche de plus en plus grande apparaît.

Peut-on remédier à ces deux problèmes ?


Ci-joint un programme de démonstration.
 

Attachments

  • Scrolltest.zip
    485.2 KB · Views: 27

klaus

Expert
Licensed User
Longtime User
Ci-joint ton projet modifié.
J'ai galéré un moment pour y arriver.
Mais, ça a l'air de fonctionner, du moins pour ce que j'ai testé.
J’utilise la bibliothèque IME pour détecter les changement de hauteur disponible lorsque le clavier est affiché.
Mais, le problème avec IME est qu'Android ne décale plus AutoCompleteEditText vers le haut.
Il fout donc se débrouiller soi même.
Je calcule la position du curseur dans AutoCompleteEditText et s'il est caché par le clavier
je change le Top de AutoCompleteEditText et je diminue la hauteur de ScrollView1.
Et je rétablis les positions par défaut lorsque le clavier n'est plus affiché.
 

Attachments

  • Scrolltest1.zip
    12.1 KB · Views: 22

jojo12

Member
Licensed User
Ma connaissance de B4A m'aurait pas permis de trouver la solution.

Tout semble fonctionner sauf dans le cas de suppression de texte qui entraîne la disparition du Panel1.
 

klaus

Expert
Licensed User
Longtime User
Effectivement, je constate aussi que pour un texte court ça ne fonctionne pas.
J'ai commencé par regarder le problème, mais ça devient compliqué, ça fonctionne d'un côté et plus de l'autre ou ça fonction de l'autre côté et plus de l'un.
Je pense regarder encore demain, mais je ne suis pas sûr de trouver LA solution.
Tes exigences semblent compliquées pour Android.
 
Last edited:

jojo12

Member
Licensed User
Je viens de tester.
Le programme se comporte bien si ce n'est que l'ajout en fin de fichier ne montre pas la dernière ligne existante si bien qu'il faut savoir que l'on peut ajouter du texte. Une fois que l'on sait, ce n'est plus un problème.
J'ai vu le code de LongTextAutoComplete. C'est du boulot !

Ensuite, j'ai intégré LongTextAutoComplete à mon projet, ce que j'aurais dû faire il y a quelque temps mais que je n'avais pas fait car je n'avais pas vu le module LongTextAutoComplete.

J'avais choisi AutoCompleteEditText parce que je pouvais y mettre des RichString, et en incorporant LongTextAutoComplete dans mon projet, je me suis rendu compte que les "string" enrichis (mise en couleur, mise en gras, souligné, etc.) n'apparaissaient pas.
 

jojo12

Member
Licensed User
J'ai trouvé un palliatif lorsqu'on ajoute du texte : je génère 20 lignes : +_____ CRLF.
Cela suffit pour l'ajout de texte. Les lignes générées restantes (+_____ CRLF) sont automatiquement supprimées lors de la sauvegarde. Et le clavier ne vient pas cacher du texte.

Reste le cas de la suppression de lignes faisant apparaître un blanc proportionnel aux lignes supprimées en bas de l'écran. Y aurait-il une solution simple pour résoudre ce cas ?
 
Last edited:

jojo12

Member
Licensed User
ça fonctionne pour le haut et le bas, mais je n'arrive plus à accrocher la barre de défilement vertical quand bien même elle apparaît uniquement sous sa forme primitive par une petite barre.

Il faudra voir -- peut-être pas aujourd'hui -- si on peut prendre en compte les RichString.
 

klaus

Expert
Licensed User
Longtime User
Si tu parles de la barre de défilement en bleu, tu peux changer la valeur du paramètre FastScrollLimit dans le Designer de 10 à 3 par exemple.
Ou, dans le code, on peut le modifier avec cette ligne:

B4X:
Sub SetText
    LongTextAutoComplete1.FastScrollLimit = 3

Par défaut, cette barre n'est active que lorsque la le texte occupe 10 fois la hauteur de la ScrollView.

Je n'ai jamais utilisé RichString.
 
Last edited:

jojo12

Member
Licensed User
Le LongTextAutoComplete1 est mal cadré dans mon appli : pas assez haut, trop bas et pas assez à droite.
Je ne vois pas avec quels paramètres je dois jouer car lorsque j'interviens dans Designer aucune modification n'est effective (recadrage, changement de hauteur, etc.) ?
 

klaus

Expert
Licensed User
Longtime User
Si tu changes les valeurs de paramètres dans le Designer elles sont forcément répercutées sur l'écran.
Tu peux aussi jour avec les ancres.
Tu peux aussi modifiers les paramètres Left, Top, Width et Height dans le code.
Pour m'assurer que les modifications fonctionnent, j'ai vérifié et me suis rendu compte que ça ne fonctionnait pas comme ça aurait dû.
Ci-joint une version améliorée.
En cliquant sur le bouton, les dimensions sont modifiées.
 

Attachments

  • ScrolltestNew1_3.zip
    15.8 KB · Views: 9
Top