84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
学习是最好的投资!
由于onDraw()会频繁调用,所以不建议在该方法里新建对象实例。
你的困扰应该是不知道怎么正确获取View的尺寸吧,获取到的width和height总是为0。
我说一个最简单的方法,权当抛砖引玉吧
public class CustomView extends View { private Bitmap mBitmap; public CustomView(Context context) { super(context) ... this.post(new Runnable() { @Override public void run() { mBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888); } }); } }
可以用View.onLayout或ViewTreeObserver
你既然是继承ImageView 我想你自然要使用到ImageView的setImageBitmap()、setImageDrawable等方法,所以你可以在这些方法中获取width与height或者直接获取bitmap
由于onDraw()会频繁调用,所以不建议在该方法里新建对象实例。
你的困扰应该是不知道怎么正确获取View的尺寸吧,获取到的width和height总是为0。
我说一个最简单的方法,权当抛砖引玉吧
使用view.post()
可以用View.onLayout或ViewTreeObserver
你既然是继承ImageView 我想你自然要使用到ImageView的setImageBitmap()、setImageDrawable等方法,所以你可以在这些方法中获取width与height或者直接获取bitmap