Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
alexbec-2012
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 80
#1

Перемещение иконки по клику - Программирование Android

23.03.2014, 08:51. Просмотров 1143. Ответов 5
Метки нет (Все метки)

как переместить иконку по клику?
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
package com.example.jjj;
 
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
 
 
public class GameView extends SurfaceView {
    private Bitmap bmp;
    private SurfaceHolder holder;
    private int x = 150;
    private int y = 300;
    public GameView(Context context) {
        super(context);
        holder = getHolder();
        holder.addCallback(new SurfaceHolder.Callback() {
            public void surfaceDestroyed(SurfaceHolder holder) {
            }
            @SuppressLint("WrongCall")
            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                Canvas c = holder.lockCanvas(null);
                onDraw(c);
                holder.unlockCanvasAndPost(c);
            }
            @Override
            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
            }
        });
        bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
    }
    protected void onDraw(Canvas canvas) {
        canvas.drawColor(Color.BLACK);
        canvas.drawBitmap(bmp, x, y, null);   
    } 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 08:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перемещение иконки по клику (Программирование Android):

Смена иконки в трее по клику - C#
Доброго времени суток! Подскажите пожалуйста как по нажатии на button1 менялась иконка в трее? Не могу найти где это сделать кодом?...

Image (writeablebitmap) перемещение по нему иконки - C# WPF
Пзравствуйте уважаемые прогеры точканетовцы Пожалуйста помогите возникла потребность внутри маленького imabebox-a двигать большое...

Отключить перемещение Itemindex по клику в Listview - Delphi
Всем Привет...и Собственно нужно пояснение как можно реализовать...(заголовок темы)

Перемещение элементов на заданные координаты по клику - JavaScript
Есть картинка , после какого-то события нужно что бы она была на заданных мною координатах ! Заранее , спасибо)

перемещение по инпутам по клику, застрял, дайте совет - JavaScript
задача, есть кол-во инпутов, нужно по нажатию кнопки по ним перемещаться. код, на последнем инпуте не могу отстановить событие...

Как сделать перемещение формы по клику левой кнопки мыши на задний фон приложения? - C# WPF
Как сделать перемещение формы по клику левой кнопки мыши на задний фон приложения? Пример изложен ниже. Этот метод не подходит: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
23.03.2014, 12:06 #2
1) обработать нажатие пальца - OnTouch. Нажатие, движение, отпускание
2) поймать если палец нажали на иконке, а не рядом
3) перерисовывать при движении.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class GameView extends SurfaceView implements View.OnTouchListener {
...
    @Override
    public boolean onTouchEvent(MotionEvent event) {
// ИЛИ ЗДЕСЬ ЛОВИМ ДВИЖЕНИЕ        
        return true;
    }
 
    @Override
    public boolean onTouch(View v, MotionEvent event) {
// ИЛИ ЗДЕСЬ ЛОВИМ ДВИЖЕНИЕ        
        return true;
    }
поищити среди недавних сообщений форума... что-то подобное уже было недавно!
alexbec-2012
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 80
23.03.2014, 13:22  [ТС] #3
Вообще не могу срастить
Дописал public boolean onTouch(View v, MotionEvent event) что при нажатии изменить x y но ничего не поменялось(
Мне надо чтоб при нажатии из координат 300 150 иконка переместилась в 10 15
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
package com.example.jjj;
 
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
 
 
public class GameView extends SurfaceView implements View.OnTouchListener {
    private Bitmap bmp;
    private SurfaceHolder holder;
    private int x = 150;
    private int y = 300;
    public GameView(Context context) {
        super(context);
        holder = getHolder();
        holder.addCallback(new SurfaceHolder.Callback() {
            public void surfaceDestroyed(SurfaceHolder holder) {
            }
            @SuppressLint("WrongCall")
            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                Canvas c = holder.lockCanvas(null);
                onDraw(c);
                holder.unlockCanvasAndPost(c);
            }
            @Override
            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
            }
        });
        bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
    }
 
    public void onDraw(Canvas canvas) {
 
        canvas.drawColor(Color.BLACK);
        canvas.drawBitmap(bmp, x, y, null);   
    }
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN: 
            x = 10;
            y = 15;
            break;
        }
        return true;
    }
}
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
23.03.2014, 14:49 #4
Вы установили переменные. Теперь надо их ПЕРЕРИСОВАТЬ после изменения! Dозможно так
Java
1
2
3
4
5
6
x = 10;
y = 15;
Canvas c = holder.lockCanvas(null);
onDraw(c);
holder.unlockCanvasAndPost(c);
break;
alexbec-2012
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 80
23.03.2014, 15:03  [ТС] #5
изменил но все ровно не работает(
Где ошибка? после клика по экрану не чего не происходит(
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
package com.example.jjj;
 
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
 
public class GameView extends SurfaceView implements View.OnTouchListener {
    private Bitmap bmp;
    private SurfaceHolder holder;
    private int x = 150;
    private int y = 300;
    public GameView(Context context) {
        super(context);
        holder = getHolder();
        holder.addCallback(new SurfaceHolder.Callback() {
            public void surfaceDestroyed(SurfaceHolder holder) {
            }
            @SuppressLint("WrongCall")
            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                Canvas c = holder.lockCanvas(null);
                onDraw(c);
                holder.unlockCanvasAndPost(c);
            }
            @Override
            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
            }
        });
        bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
    }
    public void onDraw(Canvas canvas) {
        canvas.drawColor(Color.BLACK);
        canvas.drawBitmap(bmp, x, y, null);   
    }
    @SuppressLint("WrongCall")
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN: 
            x = 10;
            y = 15;
            Canvas c = holder.lockCanvas(null);
            onDraw(c);
            holder.unlockCanvasAndPost(c);
            break;
        }
        return true;
    }
}
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
24.03.2014, 02:00 #6
Странно! внешне должно работать...
у меня все немножко по другому!

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    public GameView (Context context) {
        super(context);
!!!        setOnTouchListener(this); // без этого клики не обрабатываются!
        surfaceHolder.addCallback(this);
 
    }
 
Override
    public void onDraw(Canvas canvas) {
        super.onDraw(canvas);
}
 
    @Override
    public void run() {
        canvas = surfaceHolder.lockCanvas();
        render(canvas);//это сам рисовальщик картинки
        surfaceHolder.unlockCanvasAndPost(canvas);
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2014, 02:00
Привет! Вот еще темы с ответами:

Появление элемента по клику на кнопку и скрытие элемента по клику на любое место body - jQuery
Задача стоит такая. Нужно сделать так, чтобы по клику на button class="helper" наш div id = "helper_list" появлялся на экране(по умолчанию...

Перемещение камеры = -перемещение сцены? - OpenGL
Прочитала в redbook что переместить камеру можно 2 способами: переместить саму камеру в прямом направлении или переместить все объекты в...

иконки - Pascal
народ,помогить пожалуйста!!! Создал свою программу,но не знаю как поставить свою иконку в заголовок проги. Кто знает помогите!!!!!

Иконки в ComboBox - C++ Builder
Всем привет. :) Помогите пожалуйста с вопросом. Есть ComboBox - содержит несколько пунтов меню (название стран): 1. Россия 2....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.03.2014, 02:00
Ответ Создать тему
Опции темы

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