《Android藝術開發探索》學習筆記之View的事件體系(View的滑動)

鋸齒流沙發表於2017-12-26

View的滑動

實現View的滑動的方式:

1、通過View本身提供的scrollTo/scrollBy方法實現滑動;

2、通過動畫給View施加平移效果來實現滑動;

3、通過改變View的LayoutParams使得View重新佈局從而實現滑動。

使用scrollTo/scrollBy

為了實現View的滑動,View 提供了專門的方法實現這個功能,即scrollTo/scrollBy。

View

從上面原始碼看出,scrollBy實際上也是呼叫了scrollTo。 scrollBy:實現了基於當前位置的相對滑動。 scrollTo:實現了基於所傳遞引數的絕對滑動。

理解mScrollX和mScrollY的圖解:

View

使用動畫

使用動畫來移動View,主要操作View的translationX和translationY屬性,既可以採用傳統的View動畫,也可以採用屬性動畫。 屬性動畫相容3.0一下版本,使用開源庫nineoldandroids

注意: 1、使用View動畫並不能真正改變View的位置。

2、從Android3.0開始,使用屬性動畫可以解決真正改變View的位置的問題。

改變佈局引數

改變佈局引數,也就是改變LayoutParams,如把一個Button向右移動100px,只需要將Button的LayoutParams的marginLeft的引數的值增加100px即可

View

通過改變View的LayoutParams實現View的滑動是一種很靈活的方法,但是要根據不同的情況去做不同的處理。

各種滑動方式對比

srollTo/scrollBy:操作簡單,適合對View的內容滑動;

動畫:操作簡單,主要適用於沒有互動的View和實現複雜的動畫效果;

改變佈局引數:操作稍微複雜,適用於有互動的View。

相關文章