46. Android中View几种常见位移方式的区别?
1. offsetLeftAndRight() 和 offsetTopAndBottom() (推荐)
offsetLeftAndRight(int offset): 水平方向挪动View,offset为正则x轴正向移动,getLeft()和getRight()会变。
offsetTopAndBottom(int offset): 垂直方向挪动View,offset为正则y轴正向移动,getTop()和getBottom会变。
2. scrollBy() 和 scrollTo() (推荐)
3. translationX 和 translationY
相对于left,top,在view的平移过程中,left和top始终等于view初始状态时的值,只是x,y和translationX,translationY会发生改变,
translationX:代表View平移的水平距离;
translationY:代表View平移的垂直距离;
MarginLayoutParams params = (MarginLayoutParams) mButton.getLayoutParams();
params.leftMargin += 100;
// 请求重新对View进行measure、layout
Scroller scroller = new Scroller(mContext);