调用View的ScrollBY ScrollTo 不生效的问题
程序员文章站
2022-05-05 08:55:45
...
今天写了一个类继承了Viewpublic 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 的黑色部分偏移了
推荐阅读
-
spring事务的@Transactional使用事务不生效问题
-
解决webview 第二次调用loadUrl页面不刷新的问题
-
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
-
Linux中crontab输出重定向不生效问题的解决方法
-
在WinForms里嵌入MediaPlayer的一些版本问题, tlbimp导入, 以及不导入而纯用C#+字符串来动态调用.
-
解决vue页面DOM操作不生效的问题
-
修改php.ini不生效问题解决方法(上传大于8M的文件)
-
jdk环境变量配置改变不生效的问题
-
一次Linux修改MySQL配置不生效的问题解决
-
解决在vue项目中webpack打包后字体不生效的问题