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

Размер изображения на разных телефонах - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Программы для андроида http://www.cyberforum.ru/android-dev/thread561311.html
Вот хотел спросить на каком языке пишуть программы для андроида? Лазил в инети нашел что на java, но java пакуется в формат jar, который не поддерживает андроид
Программирование Android Кнопочный калькулятор!!! Ребят, помогите плз... Изучаю азы андроида и хочу сделать кнопочный калькулятор. Вот что получилось. Не могу переменной задать ту цифру которую нажали. X - первая цифра Y - вторая package... http://www.cyberforum.ru/android-dev/thread560432.html
Как в переменную String занести содержимое графического файла, а потом извлечь назад Программирование Android
Суть в том, что есть таблица в БД содержащая два поля String (KEY и VALUE). Поле KEY содержит название файла, а поле VALUE его содержимое. С текстовыми файлами все замечательно, извлекать из полей...
Делегаты в android Программирование Android
Доброго времени суток! Такая проблема: есть компонента, в ней три объекта Button, у каждого свое событие onClick. Как стороннему классу подключить прослушиватель, который будет определять на какую...
Программирование Android наложение видео на видео в андроиде http://www.cyberforum.ru/android-dev/thread558963.html
кто нибудь разбирается в этом, нужен хелп! (возможно оплата по договоренности)
Программирование Android Емкость батареи. В общем как узнать емкость батареи данного устройства? И либо силу тока , т.к. насколько я знаю напряжение можно узнать вот так: intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1) Просто... подробнее

Показать сообщение отдельно
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 314
01.10.2012, 13:32  [ТС]
Цитата Сообщение от Derpy Посмотреть сообщение
Нужны ресурсы для разных разрешений подробнее почитай тут
Вообще да, это самый легкий способ - раскидать все имиджи по папкам и дело в шляпе. Но у этого способа 2 жестких минуса - приложения станет значительно тяжелее и один и тот же графический файл надо подгонять под разные разрешения - работы значительно больше.
Если xml - то можно и без папок обойтись. Но как быть если все рисуется на Canvas (extends SurfaceView implements Runnable)? Можно поступить как в LunarLander из семплов - то есть
есть такой метод
Java
1
myBitmap=myBitmap.createScaledBitmap(myBitmap, width, height, true);
предварительно загрузить имидж
Java
1
myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.nnn555);
его запихнуть в surfaceChanged
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
getHolder().addCallback(new SurfaceHolder.Callback() 
        {
             /*** Уничтожение области рисования */
               public void surfaceDestroyed(SurfaceHolder holder) 
               {
                   boolean retry = true;
                    mThread.setRunning(false);
                    while (retry)
                    {
                        try
                        {
                            // ожидание завершение потока
                            mThread.join();
                            retry = false;
                        }
                        catch (InterruptedException e) { }
                    }
               }
 
               /** Создание области рисования */
               public void surfaceCreated(SurfaceHolder holder) 
               {
                   mThread.setRunning(true);
                   mThread.start();
               }
 
               /** Изменение области рисования */
              public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) 
               {
                   mCanvasWidth = width;
                   mCanvasHeight = height;
                   
                   myBitmap=myBitmap.createScaledBitmap(myBitmap, width, height, true);
               }
        });
но если у вас количество графических файлов больше 15 (примерно) , то приложение будет виснуть и не чего не нарисует.
Можно попытаться рисовать на других переменных
Java
1
2
3
4
5
6
7
8
Drawable myBitmap52;
 
 public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) 
               {
                   mCanvasWidth = width;
                   mCanvasHeight = height;
                  myBitmap=myBitmap.createScaledBitmap(myBitmap, width, height, true);  
               }
и нарисовать

Java
1
2
3
4
5
6
 protected void onDraw(Canvas canvas) {         
    
     myBitmap52.setBounds(0, 0, mCanvasWidth, mCanvasHeight);
     myBitmap52.draw(canvas);
 //      canvas.drawBitmap(myBitmap52, src, dst, null);
    }
Но опять не факт что все ваши имиджи влезут. Есть еще способы, но нельзя ли как то проще решить задачу (может в манифесте чего написать). Подскажите пожалуйста как можно все графические файлы одинакового разрешения автоматически растягивать во весь экран (и не потеряется ли при этом скорость и стабильность FPS (частоты кадров)
0
Вложения
Тип файла: zip Tect.zip (1.18 Мб, 5 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru