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

Отрисовка битмапа внутри View - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как установить баннер AdMob в приложение? http://www.cyberforum.ru/android-dev/thread708052.html
Как установить баннер AdMob в приложение? Сделал всё по инструкции, размещённой на официальном сайте: https://developers.google.com/mobile-ads-sdk/docs/android/fundamentals?hl=ru но ничего не вышло! Пользуюсь самой последней версией ПО.
Android Обработка нестандортного жеста Всем привет! Задача такая - обработать жест, при котором пользователь сначала нажимает и удерживает палец на экране (в этот момент генерируется короткая вибра), а затем палец ведет по экрану (в этот момент отслеживается текущая позиция прикосновения), и в конце палец отпускает (отслеживается и эта позиция, в котором прикосновение было закончено). Как реализовать? Стандартных методов в... http://www.cyberforum.ru/android-dev/thread708048.html
Android Убрать диалог о включении GPS и иконку GPS. Тихий запуск GPS
Здравствуйте! Подскажите есть ли возможность включить GPS в тихом режиме, чтобы пользователь не догадался об этом! На данном этапе нужно убрать уведомление о включении GPS (см вложение 1) а также икoнку GPS (см. вложение 2). Информация нужна в целях образования:)
Android Различия в поведении MediaPlayer в разных версиях ОС
ситуация: простое приложение для воспроизведения аудиопотока интернет-радиостанции, используется MediaPlayer. код, которым запускается/останавливается воспроизведение: public void onClick(View v) { switch (v.getId()) { case (R.id.btnPlay): { if (playState == 0 || playState == -1) { playState = 1; try { mp = new MediaPlayer();
Android Координаты imageView http://www.cyberforum.ru/android-dev/thread707453.html
Доброго времени суток. Как программно установить координаты появления изображения? У меня есть метод onTouch, с него беру координаты касания event.getX() и event.getY(), так вот нужно их присвоить изображению, чтоб изображение появлялось в месте касания пальца.
Android Вставка текста из файла в TextView Доброй ночи. Вопрос возможно банален, но сейчас 2 ночи,а ответ так и не удалось найти. Собственно вопрос: Необходимо загрузить несколько текстовых файлов в один TextView, после нажатия на кнопку. Подскажите как. Какой-то простенький примерчик, желательно с комментами. Заранее всем спасибо! подробнее

Показать сообщение отдельно
keryax
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 4

Отрисовка битмапа внутри View - Android

25.11.2012, 06:21. Просмотров 749. Ответов 2
Метки (Все метки)

Доброго времени суток, уважаемые программисты. Пытаюсь создать свой View для вывода графики. Создал некоторый битмап, который использую в качестве буфера.
Проблема в том, что почему-то изображение не увеличивается и не перемещается внутри OnDraw
Java
1
2
3
            
CanvBuffer.scale(Scale, Scale);
CanvBuffer.translate(ScrollX, ScrollY);
Вот более подробный код:
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
public final class MyView extends View {
    private Bitmap Buffer;
    private Canvas CanvBuffer;
    
    private float ScrollX;
    private float ScrollY;
    private float Scale;
    public MyView(Context context, AttributeSet attrs) { //конструктор
        super(context, attrs);
        
        ScrollX = 0;
        ScrollY = 0;
        Scale = 1;
    }
    private void ClearBuffer(){
        if(Buffer!=null) Buffer.recycle();
        if(getWidth()==0) return;
        Buffer = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
        CanvBuffer = new Canvas(Buffer);
        CanvBuffer.drawCircle(100, 200, 50, new Paint());
        
    }
    @Override
    public boolean onTouchEvent(MotionEvent event){
        ScrollX=100;
        Scale = 10;
        invalidate();
        return true;
    }
    @Override
    protected void onSizeChanged(int newx, int newy, int oldx, int oldy){ 
        super.onSizeChanged(newx, newy, oldx, oldy);
        
        ClearBuffer();
        invalidate();
    }
    @Override
    protected void onDraw(Canvas canvas){
        canvas.drawText("test "+ScrollX, 5, getHeight()-50, new Paint()); 
//после нажатия на дисплей значение ScrollX изменяется, но увеличения и перемещения не происходит
        if(Buffer!=null){ 
            CanvBuffer.scale(Scale, Scale);
            CanvBuffer.translate(ScrollX, ScrollY);
            canvas.drawBitmap(Buffer, 0, 0, new Paint());
        }
    }
}
Я ожидаю что при нажатии на дисплей чёрный кружочек переместится и увеличится, но этого не происходит.
Подскажите, пожалуйста, что я делаю не так. Гугл уже второй день не может мне помочь.

p.s. да я в курсе что new Paint() внутри onDraw и не только - нехорошо. это временно.
p.p.s. Android 2.2
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru