我希望在自定義視圖中順利移動到下一個滾動位置(按下按鈕或事件)。如何實現這一點?首先我看不到滾動動畫類(只有alpha,旋轉,縮放和翻譯)。其次,有了動畫類,我看不到迭代的(比如說,無論我們擁有哪個位置都滾動100像素的權限),只有絕對的(即從一個常量值到另一個常量值的動畫)。如何動畫滾動位置?如何順利滾動?
22
A
回答
35
假設您正在使用ScrollView,smoothScrollTo(...)會爲您工作嗎?
http://developer.android.com/reference/android/widget/ScrollView.html#smoothScrollTo%28int,%20int%29
0
見view_cache_demo示例代碼,看看如何做動畫滾動。它可以在2D中工作,緩存複雜的繪圖,並且還可以處理跳躍手勢,但是您可以根據需要簡化所有這些操作。
1
動畫效果滾動通過使用的組合完成滾輪/ OverScroller(計算時間的滾動偏移的內插的值),GestureDetectors(啓動卷軸對象)和觀的onComputeScroll方法(這隱含地是你的動畫循環)。
官方的android文檔現在有一個關於這個主題的詳細教程。 http://developer.android.com/training/gestures/scroll.html
22
使用ObjectAnimator,這是滾動到頂部的樣品:
public void scroolToTop() {
int x = 0;
int y = 0;
ObjectAnimator xTranslate = ObjectAnimator.ofInt(mScrollView, "scrollX", x);
ObjectAnimator yTranslate = ObjectAnimator.ofInt(mScrollView, "scrollY", y);
AnimatorSet animators = new AnimatorSet();
animators.setDuration(1000L);
animators.playTogether(xTranslate, yTranslate);
animators.addListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationCancel(Animator arg0) {
// TODO Auto-generated method stub
}
});
animators.start();
}
相關問題
- 1. 如何順利滾動CCLayer?
- 2. 如何使ViewPage順利滾動?
- 3. 如何使滾動目標順利
- 4. 如何讓ListBox順利滾動
- 5. 如何讓jQuery順利滾動到不斷變化的位置?
- 6. jquery滾動位置動畫
- 7. 股利滾動動畫
- 8. 如何動畫滾動條?
- 9. 如何使動畫順利
- 10. 如何爲WinForms滾動設置動畫
- 11. 如何動畫滑動順利離開?
- 12. jQuery如何在某個位置手動滾動時滾動到?
- 13. 如何使用滾動條重置滾動條內的滾動條位置?
- 14. Flash - 順利滾動MovieClip
- 15. jQuery - 順利滾動內容
- 16. UITableview不能順利滾動
- 17. DataGrid無法順利滾動
- 18. 如何設置div內滾動div的滾動位置?
- 19. JS滾輪滾動犯規順利
- 20. 性能如何動畫滾動位置引導
- 21. 將動畫滾動到滾動上的特定頁面位置
- 22. 向上滾動基於div位置的向上滾動動畫
- 23. 滾動位置的動畫條
- 24. 基於滾動位置的動畫
- 25. 滾動到位置jquery偏移動畫
- 26. 滾動位置上的jquery動畫
- 27. 的Javascript動畫上滾動位置
- 28. 如何使內容在固定div中順利滾動以及滾動頁面
- 29. 如何設置最大滾動位置?
- 30. 如何設置UIScrollView的滾動位置?
我應該使用'ScrollView'?現在我正在使用'MyClass extends View'。 –
我認爲這取決於你在做什麼,如果一個ScrollView適合你,然後定義使用它。 –
我試着擴展'ScrollView',但發現'onScrollChanged()'不會在這種情況下調用。我需要調用這個方法,因爲我計算了一些參數。即'smoothScroll'不適合我。 –