Jump to content
GPS навигатор СитиГИД
IШIN

FAQ по редактированию LangPack-ов

Recommended Posts

erik956, при создании скина программой LPMaker можно затемнить карту и весь экран. Как это сделать описано здесь

Share this post


Link to post
Share on other sites

Если яркость экрана Вашего устройства велика и в темное время суток ночной скин выглядит слишком светло, то при создании скина программой LPMaker Вы можете затемнить как отдельно карту, так и весь экран включая экранные кнопки, панель указателей маневров и т.д.

Для того, что бы затемнить только карту необходимо выбрать закладку "Навипанель", в рамке с классами выбрать закладку "Ночная палитра" и дважды кликнуть на строчку с надписью ("Np_map_dark_bg") - параметры темной шторки карты. В открывшемся окне настроек стилей поставить галочку в строке "Цвет Фона 1" и выбрать черный цвет. Далее поставить галочку в строке "Уровень прозрачности 1", установить значение, например - 100, нажать кнопку "Сохранить" и продолжить создание скина.

Для того, что бы затемнить весь экран необходимо выбрать закладку "Навипанель", в рамке с классами выбрать закладку "Ночная палитра" и дважды кликнуть на строчку с надписью ("Np_dark_bg") - параметры темной шторки навипанели. В открывшемся окне настроек стилей поставить галочку в строке "Цвет Фона 1" и выбрать черный цвет. Далее поставить галочку в строке "Уровень прозрачности 1", установить значение, например - 100, нажать кнопку "Сохранить" и продолжить создание скина.

Значения прозрачности выбираются следующим образом:

- при включенном аппаратном ускорении (OGL) значения увеличиваются от темного к светлому. т.е. чем меньше, тем темнее.

- при отключенном аппаратном ускорении (OGL) значения увеличиваются от светлого к темному. т.е. чем больше, тем темнее.

А можно это делать с любым скином?

Если можно, опишите процедуру

Share this post


Link to post
Share on other sites

VLEGO

Не можете помочь, пост 148

Share this post


Link to post
Share on other sites

erik956, при создании скина программой LPMaker можно затемнить карту и весь экран. Как это сделать описано здесь

Спасибо, дружище! Оказалось всё элементарно просто :rolleyes:

Share this post


Link to post
Share on other sites

А можно это делать с любым скином?

Если можно, опишите процедуру

Что бы не засорять эту ветку и не наводить путаницу ответил здесь

VLEGO

Не можете помочь, пост 148

:) это к IШIN

От себя скажу, попробуйте без "аппаратного ускорения" (OGL) :)

Edited by vlego
  • Upvote 1

Share this post


Link to post
Share on other sites

Да, при отключении "аппаратного ускорения" (OGL), кнопки становятся прозрачными, но в целом картина ухудшается. Можно добиться другими путями?

Не подскажите:

1. Где описывается меню "Кнопки на экране" (где они включаются и скрываются), искал везде, но не нашел.

2. Пытался сделать чтобы "Моё меню" и "ДПОИ" закрывались как и тап меню, сделал все по аналогии (в general и layouts800x480), но закрываться не хотят. Что еще сделать?

Share this post


Link to post
Share on other sites

1. Где описывается меню "Кнопки на экране" (где они включаются и скрываются), искал везде, но не нашел.

2. Пытался сделать чтобы "Моё меню" и "ДПОИ" закрывались как и тап меню, сделал все по аналогии (в general и layouts800x480), но закрываться не хотят. Что еще сделать?

1. Там шаблон один на всю менюшку (точнее на все аналогичные менюшки) - SubOptions или SubSubOptions, не вспомню сразу - в зависимости, на какой глубине оно в меню. Но там только общий вид меню. Пункты там в списке появляются те, которые зашиты в программу. По крайней мере, мне не удалось найти, как добавить в список отключения свои самопальные кнопки.

2. С ДПОИ не пробовал (мне наоборот, нравится, что она не исчезает, можно на ходу ткнуть в кнопку, а потом конкретную иконку - хоть через 20 сек.) А вот с ЁМеню - это еще с 7.2 продолжается, она и в штатном скине не закрывается по таймауту.

Что бы не засорять эту ветку и не наводить путаницу

Ну ничего ж себе "засорять". На тож они и Q и A.

Share this post


Link to post
Share on other sites

IШIN, с компасом почти все получилось, стрелки настроил, СПАСИБО, вопрос, а можно ли увеличить сам компас, если да, то какие значения отвечают за увеличение картинки, остальное сделаю уже сам (надеюсь) :rolleyes:

Share this post


Link to post
Share on other sites

vlego, по поводу Ваших замечаний по названию компаса разница в том, что у IШIN он имеет другое название и соответственно в программа его не видела, но с Вашей общей помощью все здорово.

Share this post


Link to post
Share on other sites

а можно ли увеличить сам компас, если да, то какие значения отвечают за увеличение картинки,

Вот щас не вспомню - то ли после bgimage="@compas" надо добавить bgmode="scaleex", то ли bgmode="fill" (увеличив, конечно, размеры строки и ячейки).

Но в любом случае это не вариант.

Картинка будет растянутая - размытая.

По правильному надо искать более крупную картинку компаса.

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

  • Upvote 1

Share this post


Link to post
Share on other sites

IШIN, доводы 100% менять не буду, спасибо

Share this post


Link to post
Share on other sites

Уважаемый IШIN, просветите, пожалуйста, как изменить МОЁ меню.

Например, не хватает, как у Вас, 15 кнопок в QM, надо 96 штук..... или сколько-то ещё.

Как это сделать?

И ещё не совсем понял что это за структура:

<VerticalPanel width="100%">

<HorizontalPanel>

<VerticalPanel width="23%"/>

<VerticalPanel width="77%">

<HorizontalPanel height="20%"/>

<HorizontalPanel height="40%">

<ImageLabel name="largeText" type="text" class="nlist_large_text_vert"/>

</HorizontalPanel>

<HorizontalPanel height="20%">

<ImageLabel name="smallText" type="text" class="nlist_small_text_vert"/>

</HorizontalPanel>

</VerticalPanel>

</HorizontalPanel>

и как с ней работать?

Спасибо.

Share this post


Link to post
Share on other sites

Уважаемый IШIN, просветите, пожалуйста, как изменить МОЁ меню.

Например, не хватает, как у Вас, 15 кнопок в QM, надо 96 штук..... или сколько-то ещё.

Как это сделать?

1. в general.xml в двух разделах, содержащих в названиях слово QM, добавить пункты (там-то все очевидно). Эти два раздела - один для отображения самого Ёменю, другой - для его настройки.

2. В layouts.xml менять табличку, в которой кнопки по экрану раскиданы. У меня это template_QM_hor, в штатном - там по-моему используется одна раскладка для Ёменю и для ДПОИ. Потому я и делал свою.

Есть грабельки. Я пробовал сделать Ёменю из 15 назначаемых кнопок. Но обнаружил страную весчь (не исключаю, что я чего-то напутал).

Когда входим в Ёменю - те кнопки, которые еще не назначены, показываются с плюсиком и словом "Настроить". Но кнопки начиная с 13 почему-то были лишены этого. Я так и не понял по чему, и в итоге просто сделал 12 назначаемых кнопок, а 13-15 задал жестко (карта, меню, выход). А то получалось "как-то неаккуратненько".

И ещё не совсем понял что это за структура:

и как с ней работать?

Я тоже не понял, для чего кроме TD и TR ввели еще VerticalPanel и HorizontalPanel

Понял одно - они используются в меню-списках. И в принципе VerticalPanel аналогична TD - ячейка, задаем ее ширину.

В ней могут быть строки (HorizontalPanel), задаем их высоту. В каждой строке могут быть еще несколько ячеек разной ширины и т.д.

В приведенном примере первые 2 (и последние две) строки - это общий размер, то есть ячейка шириной 100% списка, в которой строка выстотой 100% строки списка.

Внутри этой строки идет:

1. отступ 23% (пустой VerticalPanel)

2. Ячейка шириной остальные 77%. Она разделена горизонтальными линиями на:

2.1 отступ высотой 20% строки (пустой HorizontalPanel)

2.2. полоса (строка) высотой 40% всей строки (HorizontalPanel), в которой вставлено текстовое поле (ImageLabel ,оно может использоваться как для текста, так и для картинки) - судя по LargeText, это основной текст данной строки (ну, например название объекта из Избраного).

2.3. полоса (HorizontalPanel) высотой остальные 20 %, в которой вставлен ImageLabel со smallText-ом, то есть доп.информация, например категория ПОИ.

А еще (это в Ваш скопированный фрагмент не влезло) в самом начале его был заголовок наподобие template name="search_list_element" height="25%"

Вот там проценты = это высота строки данного списка относительно всего списка. этим параметром можно увеличить количество строк списка на экране (снизив высоту строки).

Edited by IШIN
  • Upvote 1

Share this post


Link to post
Share on other sites

IШIN, Спасибо.

Очень оперативно!

Вот только я не совсем понимаю, точнее совсем не понимаю, как связать структуру меню из general.xml c layout в layouts.xml

Как определить, что это меню строится именно с этой структурой или использует этот layout?

Это вопрос не именно к QM - а к любому меню в принципе.

Вот, например, в скине от vlego я нашел, что QM запускается кнопкой с invoke="@btn_QM"

А дальше как мне понять, что происходит и откуда программа все остальные данные берет?

Share this post


Link to post
Share on other sites

Команда btn_QM зашита в программе. То есть не любую функцию можно вызвать, просто написав invoke="...."

А программа по этой команде использует раздел menu name="QuickMenu" из general, а там уже ссылка на template_QM

Структура же может стать чуток понятнее, если внимательно почитать самый первый пост этой темы. И пошариться по general.xml, layouts.xml и dialogs.xml (в нем пункты соответствующие большинству "диалогов", например, контекстному меню, или кнопки всплывающие в поиске при нажатии "ИЛИ...").

Вот например, в general есть кусок


<menu name="search" cols="2" rows="4">

<props title="@search_title" layout="template_2btns"/>

<items>

	 <item name="address" tip="@address" image="search_address" info="@address_info"/>

	 <item name="bookmarks" tip="@sbookmarks" image="finish_favorites" info="@bookmarks_info"/>

	 <item name="POI" tip="@POI" image="search_poi" info="@POI_info"/>

	 <item name="last10" tip="@last10" image="search_last10" info="@last10_info"/>

	 <item name="setcoords" tip="@setcoords" image="setcoords" info="@setcoords_info"/>

	 <item name="highlight_off" tip="@highlight_off" image="highlight_off" info="@highlight_off_info"/>

</items>

</menu>

(это меню ПОИСК)

Значит в layout-e оно будет показываться в раскладке template_2btns_hor и template_2btns_vert

Найдем в layout-e такой раздел - и увидим, что там используются переменные @title, а исходя из вышеприведенного фрагмента это будет title="@search_title" (это уже ссылка на языковой файл. в файлах rus, eng, ukr есть такая переменная - заголовок окна поиска на разных языках).

Дальше в layout-e можно будет увидеть переменные типа icon1_invoke, icon1_info, icon1_text, icon1_image - это уже параметры каждого пункта меню.

Все, что icon1_*** - это в general идет в первом item (<item name="address" tip="@address" image="search_address" info="@address_info"/>) - также со ссылкой на языковые файлы.

Такой метод позволяет использовать один шаблон для разных меню, если в них одинаковое количество пунктов, конечно.

Edited by IШIN
  • Upvote 1

Share this post


Link to post
Share on other sites

Как раз вопрос по теме :)

Есть блок в dialogs


<menu name="ActionsDlg">

<props layout="template_Actions" title="@ActionsDlg_title"/>

<items>

	 <item name="SetStart" tip="@act_start_txt" image="act_start"/>

	 <item name="SetPoint" tip="@act_rpoint_txt" image="act_rpoint"/>

	 <item name="SearchPoiAtPoint" tip="@act_poi_txt" image="act_poi"/>

	 <item name="AddToBookmark" tip="@act_bookmarks_txt" image="act_bookmarks"/>

	 <item name="Show" tip="@act_show_txt" image="act_show"/>

	 <item name="Hide" tip="@act_hide_txt" image="act_hide"/>

	 <item name="StdButtonClose" tip="@menu_back_str" image="back"/>

	 <item name="StdButtonOk" tip="@2map" image="btn_go"/>

</items>

</menu>

И есть окно предпоиска.

Хочу команду show (отметить) вынести на миникарту.

Но invoke="show" не работает.

Как можно это show выцепить из menu name="ActionsDlg" в template_SearchAddr_base_hor?

Share this post


Link to post
Share on other sites

Насколько я понял, это потому, что данный диалог соответствует нажатой кнопке "Или". То есть команда Show в принципе становится доступна только с момента нажатия "Или".

Проходил похожую фигню в контекстном меню (при тапе по карте). Если рядом с точкой нет объектов - отображается (среди прочего) кнопка cm_first (которая "отключить ГПС", а после отключения превращается в "старт"). При наличии же объектов - вместо нее сразу "старт". Попробовал вставить cm_first в остальные варианты менюшки. Не помогло. В контекстных меню при наличии объектов на нее просто не было реакции. :(

  • Upvote 1

Share this post


Link to post
Share on other sites

IШIN, спасибо огромное!

Теперь стало намного понятнее.

Кстати, насчет грабелек....

Есть грабельки. Я пробовал сделать Ёменю из 15 назначаемых кнопок. Но обнаружил страную весчь (не исключаю, что я чего-то напутал).

Когда входим в Ёменю - те кнопки, которые еще не назначены, показываются с плюсиком и словом "Настроить". Но кнопки начиная с 13 почему-то были лишены этого. Я так и не понял по чему, и в итоге просто сделал 12 назначаемых кнопок, а 13-15 задал жестко (карта, меню, выход). А то получалось "как-то неаккуратненько".

Попробовал добавить кнопок до 15 - да, действительно, плюсики только до 12 появляются.

Однако, если тапнуть на кнопке без плюсика - всё нормально работает.

Значит программа только 12 "+" проставляет.

Тогда родилась идея workaround - добавил в QM.dat пустых строк на 1 больше, чем надо для кнопок - и Оп-паньки!

Все кнопки с плюсАми!

Share this post


Link to post
Share on other sites

Попробовал добавить кнопок до 15 - да, действительно, плюсики только до 12 появляются.Однако, если тапнуть на кнопке без плюсика - всё нормально работает.

Тогда родилась идея workaround - добавил в QM.dat пустых строк на 1 больше, чем надо для кнопок - и Оп-паньки!

Все кнопки с плюсАми!

Прикольно. Я поленился по паре причин - добавлять к ЛП еще и QM.dat не хотелось - у каждого он ведь свой. Тем более, что я тоже видел - все отрабатывает. Так что было всего лишь "неаккуратненько". Ну, и не хотелось слишком умельчать кнопки (плясал-то от своего экранчика).

Share this post


Link to post
Share on other sites

IШIN, в связи с тем, что Vlego сделал скин а-ля 5 версия, решил его поставить и всунуть Ваш компас, в итоге ничего не получилось, компаса нет, кнопки двойные и стали другого цвета и накладываются друг на друга. если есть возможность куда-нибудь сбросить ланд пак чтобы вы посмотрели, где накосячил

Share this post


Link to post
Share on other sites

IШIN,еще вопрос:

Решил в "Избранном" добавить кнопки "Поиск по Адресу" и "ПОИ" (если вдруг в закладках чего нет - сразу в поиск перейти).

Использовал кнопки смены раскладки и типа клавиатуры - при неактивной клаве они пусты.

Вот мои изменения:

dialogs.xml

<menu name="SearchBookmarks_bookmarksDlg">

<props layout="template_SearchKbd" title="@SearchBookamrks_bookmarks_title"/>

<items>

<item name="StdButtonBack" tip="@menu_back_str" image="backCancel"/>

<item name="StdButtonNext" tip="@menu_choose_str" image="nextOK"/>

<item name="address" tip="@address" image="search_address"/>

<item name="POI" tip="@POI" image="search_poi"/>

</items>

</menu>

layouts960x540.xml

<layout name="template_SearchKbd_vert">

<table>

<tr>

<td ref="ref_menu_5btns_bg_vert"/>

</tr>

</table>

<table>

<tr height="67">

<td width="3%" class="Menu_header_vert"/>

<td width="97%" type="text" class="Menu_header_vert" text="@title"/>

</tr>

<tr height="817">

<td width="3%"/>

<td width="94%">

<ScrollList name="list" class="nlist_bg" headerClass="nlist_header" footerClass="nlist_footer" delimiterColor="#999999"/>

</td>

<td width="3%"/>

</tr>

<tr height="76">

<td width="15%" type="text" class="Menu_btn_bot_txt_vert" invoke="@icon1_invoke" bgimage="@icon1_image"/>

<td width="70%"/>

<td width="15%" type="text" class="Menu_btn_bot_txt_vert" invoke="@icon2_invoke" bgimage="@icon2_image"/>

</tr>

</table>

<table name="KBD_Control_shown">

<tr height="67"/>

<tr height="817"/>

<tr height="76">

<td width="15%"/>

<td width="25%" type="text" class="Menu_btn_bot_txt_vert" text="@kbd_lang" invoke="kbd_ChangeLang"/>

<td width="20%" bgimage="@kbd_hide" bgmode="fill" invoke="kbd_hide" align="center" valign="middle"/>

<td width="25%" type="text" class="Menu_btn_bot_txt_vert" text="@kbd_type" invoke="kbd_ChangeType"/>

</tr>

</table>

<table name="KBD_Control_hidden">

<tr height="67"/>

<tr height="817"/>

<tr height="76">

<td width="15%"/>

<td width="25%" type="text" class="Menu_btn_bot_txt_vert" invoke="@icon4_invoke" bgimage="@icon3_image"/>

<td width="20%" bgimage="@kbd_show" bgmode="fill" invoke="kbd_show" align="center" valign="middle"/>

<td width="25%" type="text" class="Menu_btn_bot_txt_vert" invoke="@icon4_invoke" bgimage="@icon4_image"/>

</tr>

</table>

</layout>

В итоге картинки на кнопках показывает, а при нажатии - на карту выкидывает.

Вот и вопрос: то ли я что-то не так делаю, то ли вызов диалога из другого диалога в принципе невозможен?

И можно ли как-то эти грабли объехать?

Share this post


Link to post
Share on other sites

Вот и вопрос: то ли я что-то не так делаю, то ли вызов диалога из другого диалога в принципе невозможен?

И можно ли как-то эти грабли объехать?

Как в старом анекдоте "Вы, батенька, здоровы. Меня она тоже не возбуждает".

У меня тоже не получилось, причем я пробовал задавать напрямую, то есть не через item и @icon_3, а прямо в layout писал в invoke="POI". Видимо, нереально.

кнопки двойные и стали другого цвета и накладываются друг на друга. если есть возможность куда-нибудь сбросить лангпак

Да в любой обменник - mail.ru/files, яндекс-файлы и т.д.

Насчет компаса - проще всего, конечно,

во всех четырех раскладках (template_np, template_buttons и т.д.) в самом конце (после последнего </table>, перед закрывающим тегом </layout>) вставить кусок типа


  <table>

   <tr height="200"/>

   <tr height="58">

      <td width="20"/>

       <td width="58" bgimage="@compas"/>

     </tr>

    <tr>

	    <!-- компас (стрелочки) -->

    <td type="ext" x="20" y="200" cx="10" cy="10" class="compass"/>

    </tr>     

  </table>

это позволит двигать его (компас), не трогая все остальное.

Цифры естественно поставил наугад - но в том и прелесть, что можно легко подгонять.

И естественно, не забываем определение картинок (подложек под компас) вставить в списке картинок и в описаниях "дневных" и "ночных" рисунков.

  • Upvote 1

Share this post


Link to post
Share on other sites

IШIN, спасибо за совет, попробую сделать сам, если не получится буду обращаться, в предыдущих версиях Vlego вставлял и правил спокойно (с Вашей помошью и подсказками), а последний скин у Vlego отличается, поэтому нужно понять куда чего вставлять чтобы не происходило чудес. особенно удивила ошибка в логе, ссылка была на самую последную строку </layout>, там то я точно не менял, а программа ругается, буду пытаться, спасибо за ответ.

Share this post


Link to post
Share on other sites

Как в старом анекдоте "Вы, батенька, здоровы. Меня она тоже не возбуждает".

У меня тоже не получилось, причем я пробовал задавать напрямую, то есть не через item и @icon_3, а прямо в layout писал в invoke="POI". Видимо, нереально.

Да,я так тоже пробовал - с тем же результатом.

Жаль.

Идея была хорошей....

Share this post


Link to post
Share on other sites

ссылка была на самую последную строку </layout>, там то я точно не менял, а программа ругается

Значит, где-то незакрытый тег (и скорее всего, <layout>). У меня было такое, когда копировал кусок из одной раскладки в другую, и случайно вместе с первой строкой (<layout name=".....">). Получалось две открывающих строки подряд.

При запуске программа видит кол-во открывающих тегов, и до самого конца файла ищет закрывающие. Но так для одного из них и не находит. Потому и ошибку выдает в конце.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×