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

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

Войти
Регистрация
Восстановить пароль
 
ICaxapI
0 / 0 / 0
Регистрация: 11.08.2016
Сообщений: 24
#1

Программная расстановка большого количества кнопок - Программирование Android

31.08.2016, 23:37. Просмотров 199. Ответов 2
Метки нет (Все метки)

Здравствуйте, переношу своё сетевое приложение на java "Морской бой" и столкнулся с небольшой проблемой, я совсем не понял, как можно программно расставлять кнопки, прошу помощи у более умных людей .
А вся проблема в том, что в десктопной версии я полностью сам расставляю кнопки, в коде сама вычисляется позиция, куда нужно поставить кнопку, а вот как каким образом расставить элементы на андройде я не знаю
+ даже если есть какой-то способ расставить точно по координатам - то теряется поддержка разных разрешений.
Вот Java код, который я использую в десктоп версии, помогите перенести пожалуйста (или хотя-бы просто задайте направление куда копать и что изучать)
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
 private void paintCells(int xLoc, int yLoc, int xSiz, int ySiz, boolean rival){
        int xLocM = xLoc;
        int defY = yLoc;
        byte i = 0;
        while (i < 100){
            int x = i / 10; //это находит первую цифру двухзначного числа (прим из числа 82 получается 8)
            int y = i - (Math.round(i/10)*10); //это находит вторую цифру двухзначного числа (прим из числа 82 получается 2)
            if (!rival) {
                MyCells cell = new MyCells(); //новый объект 
                myCellsList[x][y] = cell;        // записываем его в массив
                cell.x = (byte)  x;                 //записываем в ячейку её координаты
                cell.y = (byte)  y;
                cell.index = i;                       
                cell.setLocation(xLocM, yLoc); //ставим кнопку на координаты xLocM, yLoc
                cell.setSize(xSiz, ySiz);          // ставим заданный размер в пикселях
                cell.setBorder(null);               // убираю обводку
                add(cell);                             // добавляю на панель
            }
            if (rival){
                RivalCells cell = new RivalCells();  //точно такой-же код, но записываем ссылки на ячейки в другой массив
                rivalCellsList[x][y] = cell;
                cell.x = (byte)  x;
                cell.y = (byte)  y;
                cell.index = i;
                cell.setLocation(xLocM, yLoc);
                cell.setSize(xSiz, ySiz);
                cell.setBorder(null);
                add(cell);
            }
            i++;
            if (xGrid < 9){                                            //если ячейка по вертикали не 9 (с 0), то добавляем к x координате 
                xLocM = xLoc + (xSiz * (xGrid + 1));         //размер ячейки, и инкрементируем колличество уже нарисованных 
                xGrid++;                                               //по горизонтали
            } else{
                yLoc = yLoc + ySiz;                                 //иначе инкрементируем y координату, и ставим вертикальный
                xGrid = 0;                                              //счётчик в 0
                xLocM = xLoc;
            }
        }
        JPanel visual = new JPanel();                                                    //Создаём панель для буковок
        visual.setSize(xSiz * 10 + 30, ySiz * 10 + 30);
        visual.setLocation(xLoc - 20, defY - 20);                                      //тут везде украшательства
        visual.setBorder(BorderFactory.createEtchedBorder());
        visual.setVisible(true);
        visual.setLayout(null);
        paintLine("АБВГДЕЁЖЗИ" , visual, xSiz * 10 + 40 , true);             //рисует линию из заданных букв, в
        paintLine("0123456789" , visual, xSiz * 10 + 40 , false);              // заданном направлении
        add(visual);
    }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2016, 23:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программная расстановка большого количества кнопок (Программирование Android):

Массив из большого количества кнопок - Программирование Android
Добрый день! Как понятно из названия, хочу создать массив из большого количества кнопок, 100 например. Нагуглила вот что: int...

Хранение и использование большого количества изображений - Программирование Android
Всем привет! Подскажите способ хранения большого количества изображений, чтобы можно было эти изображения удобно использовать. Смотрел...

OpenGL отрисовка большого количества точек - Программирование Android
Столкнулся с следующей проблемой. При отрисовке большого количества точек в приложении происходит ошибка, и при этом никакие логи не...

Сохранение большого количества записей ключ-значение - Программирование Android
Люди, подскажите, пожалуйста, как мне сохранить в приложении большое количество записей ключ-значение? Ближе всего мне, конечно, SQLite, но...

Загрузка и отображение большого количества картинок с памяти телефона - Программирование Android
Если изображения больше 10, то начинаются заметные тормоза, если больше 100, то программа падает с ошибкой памяти у меня есть массив,...

Чек большого количества togglebutton при прогрессе seekBar тормозит - Программирование Android
Суть проблемы: есть 81 togglebutton у которых меняется background при помощи селектора. Эти кнопки чекаются за счет прогресса Seekbar....

2
Pablito
2506 / 1990 / 620
Регистрация: 12.05.2014
Сообщений: 6,954
Завершенные тесты: 1
01.09.2016, 11:36 #2
Цитата Сообщение от ICaxapI Посмотреть сообщение
андройде

начни с Hello World
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.09.2016, 11:46 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ICaxapI Посмотреть сообщение
как можно программно расставлять кнопки
Начни с этого: http://startandroid.ru/ru/uroki/vse-...outparams.html
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2016, 11:46
Привет! Вот еще темы с ответами:

При загрузке большого количества картинок библиотекой Picasso заканчивается память - Программирование Android
В общем делаю приложение, которое должно выводить посты пользователя. В этих постах есть картинки, все они должны качаться с интернета. Я...

Расстановка фигур в лабиринте - Программирование Android
Я пишу пакмэна под андроид.Мне надо,разместить пакмэна и монетки в лабиринте,так как они расположены у меня в матрице.Лабиринт я не...

.NET 4.x Создание большого количества кнопок в WPF - C# WPF
Доброго времени суток ! Волею судеб вышло,что мне пришлось столкнуться c WPF на С#. Не могу придумать как задать 100 кнопок на...

Медленная прорисовка большого количества кнопок на форме - C#
Help! в форме много кнопок. при запуске приложения, кнопки появляются очень медленно одна за другой. как сделать, чтобы все элементы...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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