Android:无法使用点击功能在画布上画线
我正在onCreate函数中实例化canvas变量,如果我在onCreate函数中画一条线,它会显示得很好。但是,如果我在按钮的onClick函数中画一条线,它就不起作用了。原因可能是什么Android:无法使用点击功能在画布上画线,android,canvas,Android,Canvas,我正在onCreate函数中实例化canvas变量,如果我在onCreate函数中画一条线,它会显示得很好。但是,如果我在按钮的onClick函数中画一条线,它就不起作用了。原因可能是什么 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); T
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
imageView = (ImageView) this.findViewById(R.id.imageView);
BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
Bitmap bitmap = drawable.getBitmap();
Bitmap mutableBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
canvas = new Canvas(mutableBitmap);
imageView.setImageBitmap(mutableBitmap);
paint = new Paint();
paint.setColor(Color.rgb(255, 153, 51));
paint.setStrokeWidth(10);
}
public void displayLine(View view) {
canvas.drawLine(10, 20, 400, 500, paint);
}
并不是说我一定会这样做。。。但是你试过添加一个无效呼叫吗?i、 e:
public void displayLine(View view) {
canvas.drawLine(10, 20, 400, 500, paint);
view.invalidate();
}
这里缺少很多代码。你的onClick处理器在哪里?画布对象存储在哪里?displayLine在哪里调用?这是哪种语言?按钮被分配displayLine的onClick功能。我不明白你所说的画布对象的存储是什么意思。你能详细说明一下吗。奇怪的是,如果我在onCreate方法本身中画一条线(函数中的上述语句),它会画得很好。但当我将该语句移动到按钮的onclick函数时,它就不再工作了