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

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

Войти
Регистрация
Восстановить пароль
 
konrads
2 / 2 / 0
Регистрация: 05.03.2013
Сообщений: 42
#1

SurfaceView - широкий рисунок - Android

14.09.2013, 07:13. Просмотров 343. Ответов 4
Метки нет (Все метки)

Проблема в ограничениях размеров.
Создаю класс:

Java
1
2
3
4
5
6
7
8
9
10
11
    public class D3D extends SurfaceView {
        
        public D3D(Context context) {
            super(context);
/*          
            setFocusable(true);
            setFocusableInTouchMode(true);
            requestFocus(); 
*/
        }
    }
Далее размещаю его на FrameLayout размещённом на HorizontalScrollView с заданной шириной и высотой:

Java
1
2
3
4
5
6
7
8
9
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wideform);
        zFL = (FrameLayout) findViewById(R.id.zFL);
 
        d3d = new D3D(this);
        zFL.addView(d3d, 3000, 800);
    }
Затем рисую:

Java
1
2
3
4
5
6
7
8
9
10
11
12
    public void drwLine(View v){
        Canvas c = null;
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        SurfaceHolder sf = d3d.getHolder();
        synchronized (sf) {
            c = sf.lockCanvas();
            paint.setColor(Color.GREEN);
            paint.setStrokeWidth(2);
            c.drawLine(0, 0, 200, 200, paint);
            sf.unlockCanvasAndPost(c);
        }
    }
Всё рисуется нормально но есть ограничения на реальном девайсе.
Например ширина 3000 на эмуляторе работает нормально а на девайсе при попытке рисовать выскакивает ошибка, а при ширине 2000 - всё нормально.

И вот вопрос - это аппаратное ограничение и обойти никак или есть варианты?
В качестве реального девайса Nexus7, версия андроида на нём 4.3 с последними на данный момент обновлениями
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 07:13     SurfaceView - широкий рисунок
Посмотрите здесь:

SurfaceView + onKeyDown Android
Простейший пример SurfaceView Android
Android Ошибка в SurfaceView
SurfaceView сворачивание программы Android
Android SurfaceView не отображается
Android SurfaceView поверх ImageView
Android Мерцание в SurfaceView
Android SurfaceView&Canvas
Android Работа с SurfaceView
Узнать фон SurfaceView Android
Canvas, SurfaceView, Touch Android
Восстановление SurfaceView Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.09.2013, 00:52     SurfaceView - широкий рисунок #2
смотрите логи.
Hank
49 / 40 / 3
Регистрация: 28.12.2011
Сообщений: 229
15.09.2013, 00:56     SurfaceView - широкий рисунок #3
...выскакивает ошибка...
Какая ошибка то? Что в логкат написано - OutOfMemoryException?
konrads
2 / 2 / 0
Регистрация: 05.03.2013
Сообщений: 42
15.09.2013, 13:30  [ТС]     SurfaceView - широкий рисунок #4
А где это посмотреть на девайсе?
На эмуляторе всё Ок
Hank
49 / 40 / 3
Регистрация: 28.12.2011
Сообщений: 229
15.09.2013, 18:38     SurfaceView - широкий рисунок #5
В ide есть утилита LogCat, она логирует события, которые происходят на устройстве. При подключенном устройстве произведите действия, которые роняют ваше приложения, затем в LogCat посмотрите какой exception это вызвало.
Yandex
Объявления
15.09.2013, 18:38     SurfaceView - широкий рисунок
Ответ Создать тему
Опции темы

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