2010-11-23 5 views
0

Probablement cette question est répondu. Si c'est le cas, pourriez-vous me pointer dans la bonne direction alors. Je voudrais ajouter la fonctionnalité de défilement lisse dans mon application. C'est-à-dire que j'ai un énorme texte et je veux le faire défiler automatiquement (comme dans les lecteurs de livres) Quelqu'un pourrait-il offrir des exemples de défilement lisse?lisse défilement

Merci

Répondre

4

Il suffit de mettre la vue (s) que vous voulez faire défiler dans un ScrollView. Donc, pour mettre un peu de texte dans une zone de défilement, placez le texte dans un TextView, puis la TextView dans un ScrollView, comme ceci:

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
     <TextView 
      android:id="@+id/my_view_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
     /> 
</ScrollView> 
+0

Merci Ollie C, J'ai fait comme vous l'avez dit, je peux faire défiler le texte, et je peux voir les barres de défilement, la question est comment puis-je le faire défiler automatiquement. J'essaie d'utiliser les méthodes scrollTo et ScrollView.scrollBy et ScrollView.scrollTo, mais cela ne fonctionne pas pour moi. Merci – nixspirit

+0

Ollie C, J'ai également ajouté un bouton et j'ai essayé d'utiliser scrollView.smoothScrollTo (0, POSITION); Cela fonctionne pour moi mais scrooling est rapide, puis-je remplacer les paramètres de défilement (ou d'animation) ou smth. Merci – nixspirit

0

utiliser la réflexion pour mettre à jour Scroller du ScrollView:

Field mScroller; 
mScroller = ScrollView.class.getDeclaredField("mScroller"); 
mScroller.setAccessible(true); 

CustomScroller scroller = new CustomScroller(getContext(), new AccelerateInterpolator()); 
mScroller.set(this, scroller); 

Utilisez la méthode smoothScrollTo (peut-être setSmoothScrolligEnabled (true))