5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
|
1 | |
Рисование в main18.12.2012, 21:25. Показов 3456. Ответов 29
Метки нет (Все метки)
здравствуйте возник такой вопрос:
В main.xml имеем разметку tablelayout, в ней одну table row, в которой находятся допустим кнопки.,т.е. полчилось что вверху кнопки а внизу чистое поле.Как сделать чтоб по нажатию на кнопку сверху допусти рисовался бы прямоугольник(начало отсчета в этой области задаем вручную вручную).
0
|
18.12.2012, 21:25 | |
Ответы с готовыми решениями:
29
Ошибка no main class (заголовок com/javafx/main/Main) на другом компьютере Exception in thread "main" java.lang.NullPointerException at Main.main Main.cpp: In function ‘int main()’: main.cpp:10:1: error: ‘then’ was not declared in this scope Ошибка IntelliJ IDEA Error: Could not find or load main class Main |
31 / 31 / 3
Регистрация: 26.06.2012
Сообщений: 166
|
|
18.12.2012, 23:36 | 2 |
там где хочешь рисовать что-то - вставь свой объект, унаследованный от View и переопредели в нем onDraw.
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
|||||||||||
19.12.2012, 14:47 [ТС] | 3 | ||||||||||
Не совсем понятно как это сделать
1)Создаем отдельный класс
2)В разметку хмл вписываем этот класс
0
|
31 / 31 / 3
Регистрация: 26.06.2012
Сообщений: 166
|
||||||||||||||||
19.12.2012, 15:07 | 4 | |||||||||||||||
Ну, вариантов тут масса. Первое что в голову приходит:
сделай какое-нить поле в активити, которое оповещает твой класс что нажата именно нужная кнопка, например
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
|||||||||||
19.12.2012, 23:45 [ТС] | 5 | ||||||||||
часть я понял но выдает ошибку даже когда я просто хочу нарисовать линию
Класс вью
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
19.12.2012, 23:55 | 6 |
читайте полностью, там написано в чем еррор.
Добавлено через 1 минуту кстати, не вижу строки xmlns:android="http://schemas.android.com/apk/res/android"
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
|||||||||||
20.12.2012, 12:39 [ТС] | 7 | ||||||||||
Заработало после добавления
Добавлено через 12 часов 4 минуты еще такой вопрос: как сделать отдельные методы чтобы они рисовали разные фигуры,при этом предыдущие не удалялись бы?
0
|
31 / 31 / 3
Регистрация: 26.06.2012
Сообщений: 166
|
||||||
20.12.2012, 13:03 | 8 | |||||
разные методы не получится - onDraw для объекта один. Но если у тебя ограниченное количество отрисовываемых фигур, то сделай на каждую флажок и проверяй его при отрисовке. Т. е. ты нажал нужную кнопку - запустил на отрисовку метод onDraw, он, допустим, прямоугольник нарисовал, в своем классе после отрисовки присваиваешь rectangleOnCanvas = true. В onDraw в самом начале:
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
|
20.12.2012, 23:00 [ТС] | 9 |
Нашел на хабре такую вот статью
http://habrahabr.ru/post/151492/ Там реализовано через bitmap как я понимаю canvas это поверхность для рисования ,а что такое тогда bitmap?
0
|
31 / 31 / 3
Регистрация: 26.06.2012
Сообщений: 166
|
|
21.12.2012, 00:00 | 10 |
bitmap - это растровое изображение.
1
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
||||||||||||||||
29.12.2012, 21:32 [ТС] | 11 | |||||||||||||||
kvaka по поводу 4 сообщения,сделал все также он приложение вылетает по нажатию кнопки
MainActivity
Кликните здесь для просмотра всего текста
12-29 17:30:35.080: E/AndroidRuntime(2895): FATAL EXCEPTION: main 12-29 17:30:35.080: E/AndroidRuntime(2895): java.lang.NullPointerException 12-29 17:30:35.080: E/AndroidRuntime(2895): at com.example.test2.MainActivity$1.onClick(MainActivity.java:27) 12-29 17:30:35.080: E/AndroidRuntime(2895): at android.view.View.performClick(View.java:4202) 12-29 17:30:35.080: E/AndroidRuntime(2895): at android.view.View$PerformClick.run(View.java:17340) 12-29 17:30:35.080: E/AndroidRuntime(2895): at android.os.Handler.handleCallback(Handler.java:725) 12-29 17:30:35.080: E/AndroidRuntime(2895): at android.os.Handler.dispatchMessage(Handler.java:92) 12-29 17:30:35.080: E/AndroidRuntime(2895): at android.os.Looper.loop(Looper.java:137) 12-29 17:30:35.080: E/AndroidRuntime(2895): at android.app.ActivityThread.main(ActivityThread.java:5039) 12-29 17:30:35.080: E/AndroidRuntime(2895): at java.lang.reflect.Method.invokeNative(Native Method) 12-29 17:30:35.080: E/AndroidRuntime(2895): at java.lang.reflect.Method.invoke(Method.java:511) 12-29 17:30:35.080: E/AndroidRuntime(2895): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 12-29 17:30:35.080: E/AndroidRuntime(2895): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 12-29 17:30:35.080: E/AndroidRuntime(2895): at dalvik.system.NativeStart.main(Native Method)
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
29.12.2012, 22:22 | 12 |
так у тебя view = null
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
|
29.12.2012, 22:45 [ТС] | 13 |
V0v1k, а какое значение может принимать view?
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
29.12.2012, 23:24 | 14 |
полагаю объект класса testview
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
||||||
29.12.2012, 23:33 [ТС] | 15 | |||||
ну в активити он прописан
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.12.2012, 00:12 | 16 |
ну так он равен null
Добавлено через 25 секунд учите основы программирования, куда вам Андроид.
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
|
30.12.2012, 00:20 [ТС] | 17 |
ну дык я и учу и не понимаю чему он может быть равен view
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.12.2012, 00:53 | 18 |
он может указывать на объект класса testview
Добавлено через 1 минуту Философия Java Брюс Эккель советую.
0
|
5 / 5 / 1
Регистрация: 17.10.2010
Сообщений: 39
|
||||||
30.12.2012, 01:52 [ТС] | 19 | |||||
добавил
0
|
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
|
|
30.12.2012, 02:26 | 20 |
а что должно происходить?
0
|
30.12.2012, 02:26 | |
30.12.2012, 02:26 | |
Помогаю со студенческими работами здесь
20
Must have startup form or Sub Main() - Должен иметь начальную форму или Sub Main Uncompilable source code at javaapplication36.SwingForma.main(Main.java:29) Ошибка: class Main is public, should be declared in a named Main.java Error: Could not find or load main class com.intellij.idea.Main Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |