Делаем темы на A780/e680i, делаем своими ручками...

Всё о Motorola
Аватара пользователя
Blaze
Информатик-аналитик
Информатик-аналитик
Сообщения: 8934
Зарегистрирован: 24.05.2007 17:23
Модель телефона: POCO X3 Pro 6/128
Прошивка: crDroid v7.7
Sat-ресивер: Tiviar Mini HD
Откуда: Данков
Контактная информация:

Делаем темы на A780/e680i, делаем своими ручками...

Непрочитанное сообщение#1 » Blaze » 25.12.2007 11:10

Глава 1: Что такое - Тема в A780/E680i?
Требование :

1. Утилита архиватора файла, которая может упаковать вещи/распаковать в формате TAR
И GZIP. Я использую.
7-zip - бесплатное программное обеспечение, распределенное под GNU LGPL. Скачать
7-zip можно на сайте http://www.7-zip.org

2. Файл темы .mtf для испытания.

Что такое - Тема для A780/E680i? Тема - файл пакета, который состоит с:
иконки(icon), кнопки(button), полосы прокрутки(scrollbar), строки меню(menubar), строка состояния (statusbar), цвета(color), вкл\выкл мультипликациии(power on/off animation). Файл темы создаётся с расширением tar и gzip ,то же самое расширения .tar.gz до .mtf.
В Windows мы можем упаковывать/разпаковывать в формат TAR и GZIP с помощью 7-zip.
Изображение
Изображение
Как извлечь Тему:
1. Открыть mtf файл с помощью 7-zip, там мы нашли 2 папки ezxlocal и diska.
2. Извлеките ezxlocal и diska в папку. Позвольте видеть то, что - в них.

1. Файл конфигурации темы (Themename.dhm) - нормальный текстовый файл, который содержат цветовую палитру темы и путь файла темы. Файл конфигурации темы, расположен в /ezxlocal/download/appwrite/setup
2. iconres.ezx - двоичный файл, который содержат все иконки в теме. Оригинал iconres.ezx содержит приблизительно 1900 иконок (2.5MB) .И определите местонахождение /usr/language/icon, но в теме, которую мы хотим создать, используются только 200-300 иконок и размер файла не должн быть больше чем 1.0MB
Изображение
3. Файл скина (.skn) - двоичный файл, который содержет изображение PNG, которые используют для основного компонента в дисплее как Кнопка(Button), Полоса прокрутки(Scrollbar), Переключатель(Checkbox), радио (Radiobox), Строка меню(Menubar), строка статуса (Statusbar), и т.д.
Изображение
. вкл\выкл мультипликациии(Power on/off animation) - формат обмена графическими данными (анимационный файл), который отображается после того, как телефон выключается.
5. Мелодия(Ringtone)- для запроса подтвердить или предупреждения сообщения.

**Power on/off animation и Ringtone является дополнительной. В этом пункте Вы должны видеть то, что было в mtf файле темы. В следующей главе говорят, как редактировать каждый компонент.

Глава 2: Конфигурация файла (*.dhm)

Требование:
1. Редактор текста как wordpad.
2. Знание о файловой системе Linux или Unix.
3. Знание о RGB системе цвета.

После того, как мы извлекли mtf файл, (см. первый пункт темы),. : Конфигурация файла (*.dhm)- нормальный текстовый файл, который содержат цветовую палитру темы и путь файла темы. Чтобы редактировать используйте редактор текста как wordpad .Файл конфигурации темы использует .dhm расширение и расположенный в /ezxlocal/download/appwrite/setup

Это - файл A780_01.dhm от совершенно нового телефона A780.

THEME_CONFIG_TABLE]
ThemeColorPaletteIndex = 1
ThemeGeneralAlertFile = /usr/language/ringtone/Notification_4.mid
ThemeIconDir = /usr/language/theme/default1/
ThemeLogoIcon = /usr/language/theme/default1/A780_01.jpg
ThemeMsgAlertFile = /usr/language/ringtone/Polyphonic_Alert_5.mid
ThemeName = Maldives Blue
ThemePowerDownImage = /usr/language/animation/Moto2.gif
ThemePowerUpImage = /usr/language/animation/Moto1.gif
ThemeSkinFile = /usr/language/theme/default1/A780_01.skn
ThemeSoundFileLine1 = /usr/language/ringtone/Glacier.mid
ThemeSoundFileLine2 = /usr/language/ringtone/Acoustica.mid
ThemeTextSize = 0
ThemeWallpaperFile = /diska/MyImages/Cheer-Heartbeat.PNG

[THEME_COLOR_PALETTE_TABLE]
ThemeBackground = 243 240 230
ThemeBase = 243 240 230
ThemeBrightText = 0 0 0
ThemeButton = 143 169 181
ThemeButtonText = 0 0 0
ThemeForeground = 0 0 0
ThemeHighlight = 183 198 240
ThemeHighlightedText = 0 0 128
ThemeText = 0 0 0

[THEME_MULTI_LANG_NAME]
en-us = Maldives Blue
zh-cn = ้ฉฌๅฐ”ไปฃๅคซๅ…ฐ
zh-hk = ้ฆฌ็ˆพไปฃๅคซ่—�

Конфигурация файла содержит 3 таблицы-Конфигурации разделов(Config table), таблица Цветовой палитры(Color palette table), и сам язык(Multi lang name)



1. [THEME_CONFIG_TABLE]- этот раздел использования самой темы, определяет файлы и папки компонентов темы.

* ThemeName = Maldives Blue – название темы на английском языке.
* ThemeIconDir =/usr/language/theme/default1/ -ThemeIconDir (название папки, которая содержит iconres.ezx файл).
* ThemeSkinFile =/usr/language/theme/default1/a780_01.skn - ThemeSkinFile (имя файла с путем папки скина).
* ThemeLogoIcon =/usr/language/theme/default1/a780_01.jpg - ThemeLogoIcon –( 320x240 имя файла и путь папки, который используют в Установке-> Система цветов(Setting -> Color scheme))
* ThemePowerDownImage =/usr/language/animation/moto2.gif и ThemePowerUpImage =/usr/language/animation/moto1.gif - ThemePowerDownImage и ThemePowerUpImage (320x240 формат обмена графическими данными анимационный файл, который отображаеться при включения и выключения телефона)
* ThemeColorPaletteIndex = 1 -я не знаю, как использовать ColorpaletteIndex, но 3 цветовых палитры значения по умолчанию были, определяют в
/usr/language/theme/colorpalette.cfg., таким образом, я устанавливал ThemeColorPaletteIndex в 0.
* ThemeWallpaperFile - ThemeWallpaperFile - используется, чтобы определить обои. На телефонах A780/E680i не могут быть использованы обои темы. Обои могут быть изменением в Установке -> Обои(Setting -> Wallpaper).
* ThemeGeneralAlertFile, ThemeMsgAlertFile, ThemeSoundFileLine1, ThemeSoundFileLine2 - все это используется, чтобы определить мелодии в файле темы.

2. [THEME_COLOR_PALETTE_TABLE], коротко, этот раздел является для использования цветовой схемы, определяет цвета компонента дисплея, который не использует изображения, типа шрифта, высвечивание фона, и т.д. Цвет может определятся в системе RGB (Красный, Зеленый, Синий цвет, начало от 0 до 255 в каждом цвете).
Изображение
* ThemeBackground – цвет фона и фона окна.
* ThemeForeground - цвет нормального шрифта.
* ThemeButton – название игры или программы в строке состояния запущенной Явой J2ME MIDlet.
*ThemeButtontext - цвет шрифта на кнопке, строке меню, и строке состояния.
* ThemeHighlight – цвет основного момента.
* ThemeHighlightedText - цвет шрифта, когда выдвинуто на первый план.
* ThemeBase, ThemeText, ThemeBrightText -не было найдено, где они использовались. Пожалуйста, скажите мне, если Вы нашли, где - это.

3. [THEME_MULTI_LANG_NAME] – используется для определения языка в теме.


Глава 3: Редактирование иконок и изображения скина
Требование :

1. Интерпретатор Perl "ActivePerl" в http://www.activestate.com (in Languages -> ActivePerl)
2.Perl работает с IconPackager - изображение иконки, и Perl работает с SkinPackager - изображение скина. Скачать можно:
IconPackager1.05
SkinPackager0.1

3.Изображения можно редактировать в Photoshop.

iconres.ezx - файл, который содержат все изображения(образы) для обмена графическими данными в использовании темы.
iconres.ezx , создаёт данные иконок (название(имя), размер, количество) плюс изображения(образы) иконки в формате обмена графических данных. Чтобы редактировать iconres.ezx, я использую IconPackager, что бы извлекать из пакет графических данных и переупаковывая их назад к iconres.ezx после чего иконки редактированы. (Iconrestool используеться, чтобы редактировать iconres.ezx также. НО это ограничивает приблизительно 1000 иконок в iconres.ezx. E680i. Оrginal iconres.ezx содержат 1000 иконок. а оригинал A780 iconres.ezx содержит 1300 иконок.)


Как извлечь иконки iconres.ezx в IconPackager.

1.1.Установите Активный Perl.
2. 2.Извлекаем iconres.ezx с mtf файла или копию с оригинала iconres.ezx в /usr/language/icon.
3. 3.Скопируйте unpackIconRes.pl и packIconres.pl в туе папку где и iconres.ezx файл.
4.4.Нажмите правой кнопкой на unpackIconRes.pl там выберите открыть с помощу и открываем Актив перлом!, и в командном дисплее покажет количество иконок в iconres.ezx файле.
5. 5. Войдите в новую созданную папку "иконки". там имеются изображения(образы) иконок, файл заголовка, и note.txt файл.

Теперь Вы можете редактировать, и удалять иконки в папке . Сначала измените важную иконку как Лучшие 5 Кнопок (меню GNB(GNB menu), телефонная книга(Addressbook), Сообщение(Message), и Стартовый стол Запроса(Call Pad)), Пиктограмма программы, иконка команды в Buttombar (Меню, выход, назад(Menu, exit, back)), или иконка Status (Сигнал, GPRS, реальный, индикатор батареи(Signal, GPRS, real, Baterry indicator)) на Главной строке Statusbar. И удалите неизменную(unchanged) иконку, чтобы поддержать размер iconres.ezx, потому что телефон будет использовать иконку от оригинала iconres.ezx вместо этого, если иконка не была найдена в iconres.ezx темы. Becareful имя файла иконки и размер иконки. Имя файла изображения - использованое в столе данных изображения для изображения доступа от телефона. Не изменяйте имя файла изображения. И если размер изображения был телефоном изменения, изменит размеры вашего изображения к оригинальному размеру.

Как разпоковать изображения ( iconres.ezx) в IconPackager.
1.Нажмите на Команду packIconres.pl, незамедлительно покажет количество изображения в iconres.ezx файле.
2.Все изображение в папке будет упакованны в newiconres.ezx, файл в той же самой папке как packIconres.pl. Файл скина - который содержет изображение основных компонентов показа, типа кнопки, statusbar, buttombar, checkbox, radiobox, границы диалога, и т.д.


Skinfile был создан в том же самом metohed как iconres.ezx., таким образом я использую SkinPackager, чтобы извлекать изображения скина . Отличие от iconres.ezx - весь компонент скина, одно изображение в PNG.
Изображение Изображение
Как извлекать изображение скина (*.PNG) от файла скина (*.skn) в SkinPackager.
1.Установите Активный Perl.
2.2. получите файл скина (*.skn) извлеченный от mtf файла или копии с оригинала iconres.ezx в/usr/language/theme/default1
3.3. переименуйте файл скина как motoskin.skn.
4.4. скопируйте unpackSkin.pl и packSkin.pl в туже самою папку где файл скина.
5.5. нажмите на unpackSkin.pl и делаете так же как и с иконками, и отобразит количество изображений в файле скина.
6.6. войдите в новую созданную папку "скина", там имеются изображения скина в формате PNG, файл заголовка, и note.txt файла.
Изображение
Список компонентов скина на оставленной стороне от вершины - оставленный к правой нижней части

General_Arrow_Up 20x23
General_Arrow_Up_A 20x23
General_Arrow_Down 20x23
General_Arrow_Down_A 20x23
General_Arrow_Left 20x23
General_Arrow_Left_A 20x23
General_Arrow_Right 20x23
General_Arrow_Right_A 20x23
General_Stretch_Button_S 25x25
General_Stretch_Button_S_A 25x25
Stretch_ProgressBar_Background 30x25
Stretch_ProgressBar_Fillamount 12x21
Stretch_ProgressBar_Fillamount_D 12x21
Stretch_ProgressBar_Background_Small 32x13
Stretch_ProgressBar_Fillamount_Small 17x5
General_Radio_Button_Unselected_A 18x18
General_Radio_Button_Unselected 18x18
General_Radio_Button_Selected_A 18x18
General_Radio_Button_Selected 18x18
General_Check_Box_Unselected_A 20x20
General_Check_Box_Unselected 20x20
General_Select_Box_Selected_A 20x20
General_Select_Box_Selected 20x20
Stretch_ComboBox_Button 20x25
Stretch_ComboBox_Button_A 20x25
Stretch_ComboBox_Button_D 10x25
Stretch_ImageBorder_Topleft 20x25
Stretch_ImageBorder_Bottomright 20x25
Stretch_ComboBox_Border 26x25
Stretch_ScrollbarV_Arrow_Down 20x21
Stretch_ScrollbarV_Arrow_Down_A 20x21
Stretch_ScrollbarV_Arrow_Down_D 20x21
Stretch_ScrollbarV_Background 20x20
Stretch_ScrollbarV_Arrow_Up 20x21
Stretch_ScrollbarV_Arrow_Up_A 20x21
Stretch_ScrollbarV_Arrow_Up_D 20x21
Stretch_ScrollbarV_Foreground 20x20
Stretch_ScrollbarH_Arrow_Down 21x20
Stretch_ScrollbarH_Arrow_Down_A 21x20
Stretch_ScrollbarH_Arrow_Down_D 21x20
Stretch_ScrollbarH_Background 17x20
Stretch_ScrollbarH_Arrow_Down 21x20
Stretch_ScrollbarH_Arrow_Down_A 21x20
Stretch_ScrollbarH_Arrow_Down_D 21x20
Stretch_ScrollbarH_Background 17x20
Stretch_ScrollbarH_Arrow_Up 21x20
Stretch_ScrollbarH_Arrow_Up_A 21x20
Stretch_ScrollbarH_Arrow_Up_D 21x20
Stretch_ScrollbarH_Foreground 17x20
Изображение
Список компонентов скина на правильной стороне от вершины - оставленный к правой нижней части

Sbar_Background 20x26
Cut_Screen_TitleBackground 20x26
Stretch_Menu_RightAngle_1 10x10
Stretch_Menu_RightAngle_2 10x10
Stretch_Menu_RightAngle_3 10x10
Stretch_Menu_RightAngle_4 10x10
Stretch_Menu_TopBorder 10x3
Stretch_Menu_LeftBorder 3x10
Cut_Menu_Seperator 9x2
Stretch_Menu_RightBorder 3x10
Stretch_Menu_BottomBorder 10x3
Stretch_Highlight_TextBackground 10x10
Stretch_Menu_Background 10x10
Call_Keypad_KeyBk 57x35
Call_Keypad_KeyBk_A 57x35
Stretch_Dialog_RightAngle_1 10x10
Stretch_Dialog_RightAngle_2 10x10
Stretch_Dialog_RightAngle_4 10x10
Stretch_Dialog_RightAngle_3 10x10
Stretch_Dialog_TitleBackground 20x26
Stretch_Dialog_LeftBorder 2x10
Stretch_Dialog_TopBorder 20x4
Stretch_Dialog_BottomBorder 20x2
Stretch_Dialog_RightBorder 2x10
Stretch_Dialog_CST 20x34
Stretch_Dialog_CST_D 20x34
Stretch_Dialog_CST_A 20x34
Stretch_CST_A 20x35
Stretch_CST 20x35
Stretch_CST_D 20x35

Компоненты скина есть группой по имени , префикса и суффикса., типа Стрелы(Arrow), Prograssbar, Radio_Button(Радио-Кнопка), Check_Box(Флажок) и Select_Box(выбор флажка), ComboBox(поле со списком), Полосы прокрутки(Scrollbar), строка статуса ( statusbar), Меню (Основание Левого меню), Call_KeyPad_KeyBk(название вспомогательной клавиатуры KeyBk ), Диалог(Dialog), таблица кодовых сегментов (Кнопка)(CST (Button)). И весь компонент имеет prefiex или суффикс как здесь

General_* = изображение было использованно в оригинальном размере.
Stretch_* = изображение было протяжено перед использованием.
*_A = Активное изображение компонентов.
*_D = Отключают изображение компонентов.

becareful - позиция компонентов скина(обшивки), которую Вы должны предположить где 's это. Exacty (Это было в заголовке файла). но я не могу отобразить отчет(record) заголовка скина на изображение(образ) из-за некоторого индекса, были различия.

Как заархивировать изображения скина (*.png) в файл скина (*.skn) открываем его в SkinPackager.
1.нажмите на packSkin.pl и открываем его Актив перлом, создаться файл newmotoskin.skn
2. newmotoskin.skn был создан в той же самой папке как packSkin.pl. После этого Вы можете иконку запоковать\разпоковать . Теперь Вы можете упаковывать это в Тему для испытания. См. в следующей главе.

Глава 4: Как создавать Требование 1 файла (*.mtf) темы.

Утилита архиватора файла, которую можете упаковывать\разпаковывать в формате gzip и tar.(7-zip)
Другие компоненты темы, типа эмблемы темы(theme logo), и PowerOn/Off анимационый файл были легко созданны также .Эмблема темы может быть, создана сбором данных вашей темы после того, как Вы устанавливали это и переупаковали его в файл темы. Файлы PowerOn/Off - простой файл помощника. becareful для Вас анимируют размер файла.
После того, как мы редактировали все компоненты темы. Теперь мы пробуем к упаковке этого назад к mtf файлу через 7-zip . от главы 2 должно быть местоположение для каждого компонента темы так:

/ezxlocal/download/appwrite/setup/ для Themename.dhm
/ezxlocal/download/theme/icon/Themename.dhm для iconres.ezx
/ezxlocal/download/theme/icon/Themename.dhm для skinfile (*.skn)
/ezxlocal/download/theme/icon/Themename.dhm
и другой файл в
/diska/MyThemes/Themename.dhm/ поскольку другой регистрирует

Прежде, чем Вы упакуете файл темы, Вы должны проверить имя файла и путь каждого компонента в Теме configulation(конфигурации) файл (*.dhm), ЧТОБЫ создать файл (*.mtf) темы с 7-zip,

1. Открыть 7-zip и выбрать diska и ezxlocal папки. и нажмите на меню, "Добавить к Архиву".


2.Переименовать ваше имя файла архива к названию вашей темы с расширением tar.
3. Выберите формат Tar в течение первого раза.




4. Выбрать файл c 3 пункта. и нажать, "Добавить к архиву" снова.
5. На сей раз выберите формат GZIP.


6.Теперь Вы получаете вашу тему в .tar.gz расширении. Толгда переименуйте это в 7-zip к .mtf расширению.

Теперь Вы имеете файл темы. Проверьте это установкой в ваш телефон. Если ваш телефон получил somthing неправильно как никакой скин doesnot отображенный, или иконка не делает измененный. Пробуйте проверить раздел таблицы конфигурации темы в теме configulation файл (*.dhm). и не переходите на другой прежде, чем Вы перезапускаете телефон. Вы должны удалить Вас, испытание после переходит на другую тему и телефон рестарта. потому что некоторая иконка не изменяется после того, как тема была изменена. Это будет измененный после телефона рестарта. (Вы не можете удалить iconres.ezx последней используемой темы.)

Сам FAQ

Ответить