前段时间在写自己的android控件库的时候发现某个控件设置了android:gravity后控件出现空白的情况。
后来通过在google上反复的查找,终于找到了原因:因为当设置gravity后画布会平移,所以才会出现显示问题
解决办法:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//为了适应gravity而设置translate
//因为当设置gravity后画布会平移
canvas.translate(getScrollX(), 0);
}
给它再移回来
以上。