View的滑動
實現View的滑動的方式:
1、通過View本身提供的scrollTo/scrollBy方法實現滑動;
2、通過動畫給View施加平移效果來實現滑動;
3、通過改變View的LayoutParams使得View重新佈局從而實現滑動。
使用scrollTo/scrollBy
為了實現View的滑動,View 提供了專門的方法實現這個功能,即scrollTo/scrollBy。
從上面原始碼看出,scrollBy實際上也是呼叫了scrollTo。 scrollBy:實現了基於當前位置的相對滑動。 scrollTo:實現了基於所傳遞引數的絕對滑動。
理解mScrollX和mScrollY的圖解:
使用動畫
使用動畫來移動View,主要操作View的translationX和translationY屬性,既可以採用傳統的View動畫,也可以採用屬性動畫。 屬性動畫相容3.0一下版本,使用開源庫nineoldandroids
注意: 1、使用View動畫並不能真正改變View的位置。
2、從Android3.0開始,使用屬性動畫可以解決真正改變View的位置的問題。
改變佈局引數
改變佈局引數,也就是改變LayoutParams,如把一個Button向右移動100px,只需要將Button的LayoutParams的marginLeft的引數的值增加100px即可
通過改變View的LayoutParams實現View的滑動是一種很靈活的方法,但是要根據不同的情況去做不同的處理。
各種滑動方式對比
srollTo/scrollBy:操作簡單,適合對View的內容滑動;
動畫:操作簡單,主要適用於沒有互動的View和實現複雜的動畫效果;
改變佈局引數:操作稍微複雜,適用於有互動的View。