С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Sadwyn
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 3
#1

Как сделать canvas на заднем плане относительно всех других canvas-ов (слой с кругами) - Программирование Android

16.09.2016, 16:05. Просмотров 239. Ответов 0

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package com.ua.drawfigures;
 
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Toast;
 
public class MainActivity extends AppCompatActivity {
 
    Button rectangle;
    Button triangle;
    Button circle;
    Button curve;
    Button rhombus;
    Button paint1;
    ImageView image;
    RelativeLayout layout;
 
    Bitmap bitmap;
    Canvas canvas;
    Canvas canvascirc;
    Paint paint;
    int counter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        rectangle = (Button)findViewById(R.id.rectangle);
        triangle = (Button)findViewById(R.id.triangle);
        circle = (Button)findViewById(R.id.circle);
        curve = (Button)findViewById(R.id.curve);
        paint1 = (Button)findViewById(R.id.paint);
        rhombus = (Button)findViewById(R.id.rhombus);
        layout = (RelativeLayout)findViewById(R.id.layout);
        image = (ImageView) findViewById(R.id.imageView);
 
        bitmap = Bitmap.createBitmap(200,200, Bitmap.Config.ARGB_8888);
        canvas = new Canvas(bitmap);
        canvascirc = new Canvas(bitmap);
        paint = new Paint();
 
 
    }
 
 
 
    public void circleOnClick(View v){
 
        counter++;
        paint.setColor(Color.CYAN);
        canvascirc.drawCircle(100,50,14,paint);
        canvascirc.drawCircle(100,84,20,paint);
        canvascirc.drawCircle(100,130,27,paint);
        image.setImageBitmap(bitmap);
        if(counter==3)
            paint1.setVisibility(View.VISIBLE);
        v.setEnabled(false);
    }
    public void rectOnClick(View v){
 
        counter++;
        paint.setColor(Color.RED);
        canvas.drawRect(100,50,111,120,paint);
        image.setImageBitmap(bitmap);
        if(counter==3)
            paint1.setVisibility(View.VISIBLE);
        v.setEnabled(false);
        Toast.makeText(this,"Выведены все прямоугольники",Toast.LENGTH_SHORT).show();
 
 
    }
    public void triangleOnClick(View v){
 
        counter++;
        paint.setColor(Color.GREEN);
        canvas.drawLine(80,80,90,90,paint);
        image.setImageBitmap(bitmap);
 
        if(counter==3)
        paint1.setVisibility(View.VISIBLE);
        v.setEnabled(false);
    }
    public void curveOnClick(View v){
        counter++;
        paint.setColor(Color.GREEN);
        canvas.drawLine(60,60,80,80,paint);
        canvas.drawLine(120,80,140,60,paint);
 
        image.setImageBitmap(bitmap);
        if(counter==3)
            paint1.setVisibility(View.VISIBLE);
        v.setEnabled(false);
    }
    public void clearOnClick(View v){
        canvas.drawColor(Color.WHITE);
        image.setImageBitmap(bitmap);
        counter=0;
        paint1.setVisibility(View.INVISIBLE);
        rectangle.setEnabled(true);
        triangle.setEnabled(true);
        circle.setEnabled(true);
        curve.setEnabled(true);
    }
 
 
}
 Комментарий модератора 
используйте теги
0
Миниатюры
Как сделать canvas на заднем плане относительно всех других canvas-ов (слой с кругами)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2016, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать canvas на заднем плане относительно всех других canvas-ов (слой с кругами) (Программирование Android):

Как в canvas сделать плавный переход от одной картинки к другой? - Программирование Android
В живых обоях переход от одного кадра к другому происходит с рывком. Задача минимум сгладить более качественно кадр, чем это делает...

Как сделать так, чтобы вводимый текст сразу же рисовался в canvas? - Программирование Android
Допустим, у меня в верхней части экрана EditText, а внизу область рисования. Я хочу, чтобы текст, введенный в EditText, одновременно...

Canvas circle radius на всех экранах - Программирование Android
Ребятушки, нужна помощь людишек который разбираются с канвой и с тем что бы сделать ее под все экраны. Потому что у меня на данный момент...

Расположение SeekBar: чтобы картинка на заднем плане была все также растянута по всей высоте и ширине экрана - Программирование Android
Всем доброго времени суток! Возник следующий вопрос: допустим есть LinearLayout и в нем ImageView, растянутый по всей высоте и ширине. Как...

Как очистить canvas? - Программирование Android
Если в коде использовать Offset (сдвиг экрана), то предыдущий кадр анимации остается на том месте где он порисовался. Как убрать его чтобы...

Как сделать чтобы label был на переднем плане а не на заднем? - C#
Создаются label с данными, но на фоне стоит картинка pictureBox, и они появляются под ней, как сделать чтобы они были поверх изображения. ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2016, 16:05
Привет! Вот еще темы с ответами:

как сделать программно чтобы программа была постоянно на заднем плане - C++
Суть вопроса как сделать программно чтобы программа была постоянно на заднем плане? Пишу экранную клавиатуру, как делать имитацию...

Canvas html5, как разместить черный пискель в центре canvas'a? - HTML5 Canvas
как разместить черный пискель в центре canvas'a?

Как добиться одинакового размера шрифта при выводе на Image.Canvas и Printer.Canvas - Delphi
Здравствуйте! Подскажите, пожалуйста, как добиться одинакового размера шрифта при выводе на Image.Canvas и Printer.Canvas

Можно ли одной процедурой рисовать на Image.Canvas и Printer.Canvas - Delphi
Здравствуйте, пожалуйста, подскажите можно ли одной процедурой рисовать на Image.Canvas и Printer.Canvas?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.