Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расположение управляющих команд 
:(
    Опции темы
Brodyaga
Дата 23.4.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: 2
Всего: 2



Всем доброго времени суток! Есть набор команд (command).  Например Exit, command1, command2, command3, command4.

Добавляю их на форму таким образом:
Код

    private Command exit=new Command("Выход", Command.EXIT, 0);
    private Command command1=new Command("Команда 1",Command.SCREEN,1);
    private Command command2=new Command("Команда 2",Command.SCREEN,1);
    private Command command3=new Command("Команда 3",Command.SCREEN,1);
    private Command command4=new Command("Команда 4",Command.SCREEN,1);

    this.addCommand(exit);
    this.addCommand(command1);
    this.addCommand(command2);
    this.addCommand(command3);
    this.addCommand(command4);


Команды на эмуляторе добавляются так... Слева находица кнопка exit, а справа меню с командами 1,2,3,4.

Скидываю мидлет на телефон(Sony Ericsson w300i), там всё наоборот.. Слева команда1, а справа меню с командами command 2,3,4,exit.

Как можно управлять размещением команд на телефоне? Влияет ли на это приоритет?
PM MAIL   Вверх
W0LF
Дата 23.4.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Попробуй поиграть с единицами, которые у тебя после Command.SCREEN


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
math64
Дата 23.4.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Создай несколько команд типа Command.OK c разными приоритетами и одну типа Command.CANCEL. В большинстве случаев Comand.OK попадут в меню и разположатся там в порядке приоритета, а  Command.CANCEL на отдельную клавишу. Но какая из них будет левая, а какая правая предсказать невозможно (а на некоторых моделях Motorola есть ещё средняя).
PM   Вверх
Brodyaga
Дата 23.4.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 599
Регистрация: 19.1.2008

Репутация: 2
Всего: 2



Цитата

Создай несколько команд типа Command.OK c разными приоритетами и одну типа Command.CANCEL. В большинстве случаев Comand.OK попадут в меню и разположатся там в порядке приоритета, а  Command.CANCEL на отдельную клавишу.


так не прокатило.. А вот когда сделал все Command.ok, и стал варьировать их приоритет, то всё получилось... Сначала идут команды с меньшим приоритетом, тоесь заполняют сначала левую клавишу а потом в меню на правую прыгают...
PM MAIL   Вверх
math64
Дата 23.4.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Если сделать все Command.CANCEL, Nokia 6120 поместит все команды в меню, правая кнопка окажется свободной (SE не пробовал)
PM   Вверх
Dummy
Дата 26.4.2008, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: 7
Всего: 19



Тип и приоритет команд в J2ME носят рекомендательный характер по определению. Спецификация MIDP 2, описывая смысл полей типа и приоритета, оперирует исключительно терминами MAY, MIGHT и т. п. , никаких MUST. Иными словами, сортировка команд и распределение их по софткеям и меню специфична для различных производителей и, возможно, даже моделей одного производителя.

Известные мне алгоритмы делают примерно следующее:

1. сортируют команды по типу
2. сортируют команды одного типа по приоритету
3. полученный список раскидывают так, чтобы позитивные команды (имеющие тип OK, SCREEN, ITEM, HELP) оказывались на одной стороне, а негативные (STOP, CANCEL, BACK, EXIT) - на другой
4. Иногда дополнительно стараются раскидать команды, чтобы занять оба софткея. Но, как написал math64 в предыдущем посте, на некоторых телефонах это не так.

Т. е. если жизненно необходим фиксированный порядок команд, придется тестировать мидлет на тех устройствах, где он будет запускаться, и смотреть, как там команды раскидываются, возможно, внося в мидлет зависимость от модели телефона.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0586 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.