Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Taxip
13 / 13 / 11
Регистрация: 28.09.2013
Сообщений: 364
#1

Нарисовать круг используя Canvas - Программирование Android

20.06.2015, 02:15. Просмотров 888. Ответов 4
Метки нет (Все метки)

Здравствуйте. Совсем недавно начал изучать Java ME, такой вопрос, неужели все так сложно с Canvas? Разве обязательно, чтобы нарисовать простейший круг, мне необходимо вместо моего активити, создавать класс, где будет переопределен onDraw. До этого юзал делфи, там это делалось намного проще, на форму кидался компонент, далее уже в этом компоненте рисовались фигуры. А тут получается, чтобы нарисовать круг на моем активити, мне надо вместо активити создавать класс, который будет рисовать круг. Что-то у меня совсем каша в голове. Может все таки можно каким-нибудь образом рисовать круг на моем активити, без переопределения метода onDraw, нарисовать круг просто поверх моего активити. Гуглил этот вопрос, но в выдаче на первых ~20 сайтах написан один и тот же код с практически одинавым описанием.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2015, 02:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нарисовать круг используя Canvas (Программирование Android):

"Нарисовать" массив, используя Canvas и графические примитивы
Имеется двумерный массив состоящий из нулей и единиц, где нуль должен...

Как нарисовать Bitmap на Canvas'е
Здравствуйте, возникла проблема не могу поменять обычный фон WHITE на этот...

Нарисовать круг не используя оператор CIRCLE.
Нарисовать круг не используя оператор CIRCLE.

Нарисовать флаги, используя свойство Canvas
Доброго времени суток! Ребята помогите нарисовать в Билдере используя свойство...

Нарисовать круг не используя circle, а через Пи, cos или sin
x:=0; repeat x:=x+0.01; y:=2*sin(x)*pi; Point(x,y); until keypressed; ...

Нарисовать круг из "*" используя циклы
Здравствуйте! Нужно нарисовать круг из "*" используя циклы. Знаю, что...

4
Mikalai
262 / 238 / 95
Регистрация: 11.01.2015
Сообщений: 666
20.06.2015, 03:56 #2
Вот самый простой способ. Проще нет.
0
Taxip
13 / 13 / 11
Регистрация: 28.09.2013
Сообщений: 364
20.06.2015, 03:59  [ТС] #3
Mikalai, Я видел эту статью Повторюсь еще раз, тут перерисовывается весь экран, то есть все кнопки, текст и т.п. пропадут. Мне необходимо, чтобы круги рисовались только на определенной части экрана.
0
Mikalai
262 / 238 / 95
Регистрация: 11.01.2015
Сообщений: 666
20.06.2015, 04:29 #4
Размести SurfaceView там где тебе нужно и рисуй что хочешь
1
akyma40
16 / 15 / 3
Регистрация: 20.05.2015
Сообщений: 115
20.06.2015, 09:13 #5
не надо вместо активити создавать класс, просто делаешь в своем xml файле вот такую запись:
XML
1
2
3
4
5
<com.example.имя_проэкта.имя_класса
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:id="@+id/свой_id"
/>
при этом твоя активити остается такой же как и была
и потом твой класс наследуешь от View
и получается вот что:
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
public class SomeView extends View {
 
Paint paint;
int X;
int Y;
final static int Radius = 20;
 
public SomeView(Context context, AttributeSet attrs) {
    super(context, attrs);
    paint = new Paint();
    paint.setColor(Color.YELLOW);
    paint.setStyle(Style.FILL);
    X = 30;
    Y = 30;
}
 
@Override
protected void onDraw(Canvas canvas)// метод OnDraw вызвается Андроидом
                                    // тогда, когда нужно отрисовать данный
                                    // View
{
    canvas.drawCircle(X, Y, Radius, paint);
    invalidate();// invalidate() нужен для того, чтобы оповестить Android,
                    // что нужно выполнить метод OnDraw снова, без него View
                    // не будет перериcовываться.
}
}
0
20.06.2015, 09:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2015, 09:13
Привет! Вот еще темы с решениями:

Canvas круг столкновение со стеной
Помогите сделать столкновение со стеной как в игре Agario , там когда он...

Разбить круг на полигоны html canvas
Уважаемые подскажите каким способом можно разбить круг(2d), на полигоны Как я...

Нарисовать круг
Помогите пожалуста нарисовать круг для вот этой программы!!!! Создать меню с...

Нарисовать круг
1.нарисовать растущую елку в borlands c++ 2.через каждые 2 секунды на экране...


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

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

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