Je voudrais un ScrollView pour commencer tout en bas. Des méthodes?Android: ScrollView force vers le bas
Répondre
scroll.fullScroll(View.FOCUS_DOWN)
devrait également fonctionner.
Cela ne semble rien faire, aucune suggestion? Je l'ai essayé sur onCreate et plus tard dans le onClick d'un bouton. – RichardJohnn
Voir les réponses ci-dessous – Oliv
Cela ne semble pas fonctionner pour changer d'orientation. Sinon, son fonctionnement. – Prashant
vous devez exécuter le code à l'intérieur du scroll.post comme ceci:
scroll.post(new Runnable() {
@Override
public void run() {
scroll.fullScroll(View.FOCUS_DOWN);
}
});
Oui, doit être posté à la file d'attente exécutable pour travailler. – josh527
il y a un moyen sans perdre focus élément actuel, quand je fais cela je perds le focus de mon élément actuel (différent de scrollview) – rkmax
Ceci est nécessaire uniquement dans les cas où la mise en page n'a pas encore été mesurée et mise en page (par exemple dans onCreate). Dans les cas comme en appuyant sur un bouton, .post() n'est pas nécessaire. –
J'incrémenter fonctionner parfaitement.
private void sendScroll(){
final Handler handler = new Handler();
new Thread(new Runnable() {
@Override
public void run() {
try {Thread.sleep(100);} catch (InterruptedException e) {}
handler.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(View.FOCUS_DOWN);
}
});
}
}).start();
}
Remarque
Cette réponse est une solution pour vraiment vieille version Android. Aujourd'hui, le postDelayed
n'a plus ce bug et vous devriez l'utiliser.
Pas au-dessus de deux, mais cela fonctionne bien dans mon téléphone (LG JellyBean 4.1.2 Optimus G). – Youngjae
Pourquoi ne pas utiliser scrollView.postDelayed (runnable, 100)? –
@ MattWolfe à l'époque ne fonctionne pas dans certaines anciennes versions d'Android. Mais aujourd'hui, cette réponse est déconseillée du tout. – ademar111190
Lorsque la vue n'est pas encore chargée, vous ne pouvez pas faire défiler. Vous pouvez le faire «plus tard» avec un appel de poste ou de sommeil comme ci-dessus, mais ce n'est pas très élégant.
Il est préférable de planifier le défilement et de le faire lors du prochain onLayout(). Exemple de code ici:
Une chose à considérer est ce que ne pas régler. Assurez-vous que vos contrôles enfants, en particulier les contrôles EditText, n'ont pas la propriété RequestFocus définie. Cela peut être l'une des dernières propriétés interprétées sur la mise en page et elle va remplacer les paramètres de gravité sur ses parents (la mise en page ou ScrollView).
Ce qui fonctionne le mieux pour moi est
scroll_view.post(new Runnable() {
@Override
public void run() {
// This method works but animates the scrolling
// which looks weird on first load
// scroll_view.fullScroll(View.FOCUS_DOWN);
// This method works even better because there are no animations.
scroll_view.scrollTo(0, scroll_view.getBottom());
}
});
J'ai essayé cela, mais l'algorithme ici est faux. Vérifiez ma réponse en bas s'il vous plaît. – peacepassion
scroll.fullScroll(View.FOCUS_DOWN)
conduira au changement de mise au point. Cela entraînera un comportement étrange lorsqu'il existe plusieurs vues pouvant être mises en évidence, par exemple deux EditText. Il y a un autre moyen pour cette question.
View lastChild = scrollLayout.getChildAt(scrollLayout.getChildCount() - 1);
int bottom = lastChild.getBottom() + scrollLayout.getPaddingBottom();
int sy = scrollLayout.getScrollY();
int sh = scrollLayout.getHeight();
int delta = bottom - (sy + sh);
scrollLayout.smoothScrollBy(0, delta);
Cela fonctionne bien.
Alors content de ne pas avoir perdu de temps à ce sujet. Juste ce dont j'avais besoin –
Cela devrait avoir plus de votes upvotes. C'est la meilleure réponse de loin. –
Voici la meilleure réponse ici. –
Pas exactement la réponse à la question, mais j'avais besoin de faire défiler vers le bas dès qu'un EditText a eu le focus. Cependant, la réponse acceptée ferait que l'ET perdrait tout de suite son attention (pour le ScrollView, je suppose).
Ma solution est la suivante:
emailEt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
Toast.makeText(getActivity(), "got the focus", Toast.LENGTH_LONG).show();
scrollView.postDelayed(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
}, 200);
}else {
Toast.makeText(getActivity(), "lost the focus", Toast.LENGTH_LONG).show();
}
}
});
Parfois scrollView.post ne fonctionne pas
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
Donc, si vous utilisez scrollView.postDelayed, il va certainement travailler
scrollView.postDelayed(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
},1000);
- 1. Scrollview fait toujours défiler vers le bas
- 2. Slide vers le bas vers le bas android
- 3. android défiler vers le bas
- 4. souris vers le bas et se déplace vers le bas
- 5. Android: ScrollView édition
- 6. Android ScrollView saute quand redimensionné
- 7. Comment faire défiler vers le bas dans un ScrollView au démarrage de l'activité
- 8. TabHost à l'intérieur d'un Scrollview: défile toujours vers le bas quand un onglet est cliqué
- 9. problème scrollView dans android
- 10. ScrollView dans android
- 11. Android: ScrollView dans Flipper
- 12. scrollView Problème dans android
- 13. Android Scrollview: Comment détecter début et fin de scrollview
- 14. chasse vers le bas Fuites
- 15. UIWebView défiler vers le bas
- 16. Palm vers le bas action
- 17. Souris vers le bas Problème
- 18. scrollview inside linearlayout force les boutons hors écran
- 19. Force UITextView pour défiler vers le bas sur un contexte spécifique
- 20. android ListView remplacement pour ScrollView
- 21. Graphique utilisant scrollview dans Android
- 22. Force Fancybox faire défiler vers le haut
- 23. Android: Hauteur totale de ScrollView
- 24. Glissement vers le haut/vers le bas d'un contrôleur UINavigation
- 25. Flèches du clavier vers le haut et vers le bas
- 26. Comment détecter: défilement vers le haut ou vers le bas?
- 27. Evénement de raccourci clavier vers le bas/vers le bas de la liaison
- 28. WPF Arbre logique - bas vers le haut par rapport haut vers le bas
- 29. JQuery-UI curseur vers le bas des boutons vers le bas
- 30. android force clavier visible
Je pense que c'est juste scrollTo(), oui je viens de vérifier les documents de développement pour ScrollView. Peasy facile. –