一,ScollTo(x,y)是將view的內容移動到x,y
而 ScollBy(x,y)是將view的內容b平滑的移動x,y
ScollBy和ScollTo方法之間的關係:
public void srcrollBy(int x,int y){
scrollTo(mScrollX + x,mScrollY + y);
}
mScrollX表示view左邊緣和view內容左邊緣在水平方向上的距離,如果view左邊緣在view內容左邊緣右邊,爲正值,反之爲負值。 所以從左向右滑時,實際是view的內容在向右移,相對來說,就是view在往左移,所以移動值爲負值。
mScrollY表示view上邊緣和view內容上邊緣豎直方向的距離
操作簡單,適合實現對view內容的滑動
二。動畫
View動畫操作的主要是view的translationX和translationY屬性
View動畫並不能真正移動view的位置,這樣如果移動了button,button在新的位置並不能響應click事件,而點擊老位置,雖然看不到button,但會響應click事件----所以view動畫不能用於要與用戶交互的場合
3.0後屬性動畫解決了這個問題,
3.0以前也可以使用nineoldandroids動畫兼容庫來實現屬性動畫,但3.0以前的屬性動畫本質上還是用view動畫實現的,所以也存在同樣的問題
三。改變佈局參數
即改變LayoutParams
LayoutParams l = mTextView.getLayoutParams();
l.width += 10;
mTextView.setLayoutParams(l);
操作稍微複雜,適用於需交互的場合實現彈性動畫的方法:動畫,Scoller和延時策略
參考:Android開發藝術探索