欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

调用View的ScrollBY ScrollTo 不生效的问题

程序员文章站 2022-05-05 08:55:45
...

今天写了一个类继承了View
public CustomView extends View
把View的background设置为黑色

<View 
		android:layout_width = "100dp"
		android:layout_height = "100dp"
		android:background = "#ff000000"/>

然后调用mCustomView.scrollby(dx,dy);
发现 这个View 并没有移动,还是在原来的位置。

查了比较久,才发现,scrollby 和scrollTo 针对的是View 的 “内容”;

View 的内容,指的是View 的 onDraw 部分
而 ViewGroup的内容, 指的是所有子View 和onDraw 部分。

因为我这个View 没有重写onDraw ,因此这个View 没有可以scroll的“内容”

后来我重写了

public void onDraw(Canvas canvas){
	Paint paint = new Paint();
	paint.setColor(Color.parseColor("#ff000000"))
	canvas.drawRect(0,0,getMeasuredWidth(),getMeasuredHeight(),paint);
}

终于看到View 的黑色部分偏移了