Общие замечания:
1. Прежде всего понадобиться доступ к внутренней файловой системе телефона. Как это сделать написано в этом посте или в этой ветке форума.
2. Файл menu.ml находится в tpa/preset/system/menu/.
3. На всякий случай делаете резервную копию этого файла. (BackUp)
4. Итак, копируете файл menu.ml на компьютер. Открываете его блокнотом и начинаете редактировать.
После сохранения изменений в файле, заливаете его обратно в телефон, в
ту же папку откуда взяли :). Общий сброс или просто сброс при этом НЕ нужен.
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Как заменить иконки:
1. Находим в файле такие строчки (на каждый элемент меню!)
Итак, pos="unselected" - это иконка пункта меню, на который НЕ наведен курсор pos="selected" - соответственно иконка активного пункта меню. source="internal" - это источник файла иконки. В данном случае internal означает, что иконка берется, скорее всего, из MAIN, куда нам пока что не добраться. DESKTOP_WAP_ICN - собственно имя иконки.
С теорией закончили, теперь к делу.
2. Подготавливаем свои иконки. Прокатывают форматы PNG, JPG, GIF. Лучше
всего использовать PNG или GIF, так как в них поддерживается
прозрачность. Размер иконок до сих пор не определен четко, но люди
используют такие размеры:
Для неактивного пункта - 55х36 (ширина Х высота) или 55х34
Для активного - 64х44 или 48х42.
Собственно, можно ставить любые размеры, даже 100х100, но конечно такая иконка закроет соседние.
3. Для главного меню должно получиться 24 иконки (12 для активного пункта и 12 для неактивного)
4. Называть эти иконки можно как душе угодно, но уже выработался
стандарт, что для выбраной иконки мы добавляем в конце _s. Например:
call.png и call_s.png.
5. Закачиваем эти иконки в ту же папку где находится menu.ml, то есть в tpa/preset/system/menu/
6. Кажется, в имени файла важен регистр символов. Поэтому, чтобы потом
было меньшь проблем проверьте, чтобы все имена файлов были в нижнем
регистре.
Иконки готовы, переходим к редактированию файла меню.
7. Меняем source="internal" на source="file".
8. Прописываем вместо имен стандартых иконок свои имена. Например: DESKTOP_WAP_ICN меняем на wap.png
9. В результате, на каждый пункт, на который мы хотим поменять иконку должен быть приблизительно такой текст:
10. Закачиваем переделанный menu.ml в телефон, включаем, и наслаждаемся
новыми иконками (и торможением при первом открытии меню :) )
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Как сделать ссылку на яву(Java):
1. Допустим нам нужно сделать ссылку на MobyExplorer. <link type="internal"/> меняем на <link type="java" javasuitename="MobyExplorer" javasuitevendor="Bermin Software" javasuitepoint="ftpmid.FtpMid"/>
javasuitename, javasuitevendor, javasuitepoint - берем в .Jad -файле
приложения или игрушки или в MANIFEST.MF, что лежит в папке META-INF в
.JAR -файле.
Например:
2. Сохраняем изменения и закачиваем новый файл.
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Как сделать TabMenu (меню вкладками, как меню Настройки)
Структура TabMenu такова:
Учтите, что иконки тут меньше по размеру!
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Как сделать еще одно меню 3х4 (как главное меню):
Структура меню с layout="DesktopTopMenuGFX2", то есть 3х4 такова:
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Как поставить свои имена пунктам меню:
Заменяем:
<label type="name" textid="..."/> на <label
type="name"><text>...</text></label>. Где, между
тегами <text></text> прописываем свое имя пункту.
Имена можно задавать и русскими символами. Для этого сохраните файл в кодировке UTF-8 (можно даже блокнотом).
Маленька поправочка:
Если мы хотим помень имя не пункта, а меню, например:
<menu id="Menu_Entertainment_Id">
, то пишем type не "name", а "TITLE"
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Замечание:
1. На место element id="..." прописывайте существующие значения.
2. Можно использовать и другие значения layout, но я этого описывать не
буду. Но если вам кажется, что главное меню в стиле старых Нокий
лучше...что ж можете и сами разобратся.
Фуххх, вроде все... :)
Спасибо всем за идеи и данные.
Различная готовая графика и сами наборы меню в этой ветке форума.