一,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開發藝術探索
新聞熱點
疑難解答