0
Я создаю экземпляр переменной canvas в функции onCreate, и если я нарисую строку в функции onCreate, она отображается в порядке. Однако, если я рисую строку в функции onClick кнопки, она не работает. Что может быть причиной.Android: невозможно рисовать линию на холсте с помощью функции щелчка
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);
}
Здесь отсутствует код. Где ваш обработчик onClick? Где хранится ваш объект холста? Где называется displayLine? –
На каком языке это? –
Кнопка назначается функцией onClick displayLine. Я не понимал, что вам мешает хранение холста. Можете ли вы уточнить. Странная вещь, если я нарисую строку (выражение выше в функции) в самом методе onCreate, она рисует линию отлично. Но когда я перемещаю этот оператор в функцию onclick кнопки, он больше не работает – srkmish