View的事件體系(三)

一,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開發藝術探索

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章