总结了一下做自定义控件时,一定view能用到的方法
1.在ViewGroup移动子View的方法:
a.动态设置layout的位置(即View在父view的位置),移动单个子View,本质改变的是相对于父View坐标系原点(父View的左上角):view.layout(l,t,r,b);
view.offsetTopAndBottom(offset);//同时改变View的top和bottom
view.offsetLeftAndRigth(offset);//同时改变View的left和right
b.改变ViewGroup的scrollX和scrollY,移动整体所有子View:
scrollTo(x,y);
scrollBy(xOffset,yOffset);
c.使用属性动画改变View的translationX和translationY,移动单个子View,
本质改变的是相对VIew坐标系原点(View自身左上角):
view.setTranslationX(x);
view.setTranslationY(y);
2.在自定义View中移动自身内容的方法:
a.动态设置画布内容的坐标:
canvas.draw(xx,l,t,r,b);
b.改变View的scrollX和scrollY:
scrollTo(x,y);
scrollBy(xOffset,yOffset);