Перейти к содержанию
GPS навигатор СитиГИД

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


Рекомендуемые сообщения

3 часа назад, Proks сказал:

Уважаемые специалисты, прошу помощи. в разъяснение структуры файла layouts.xml. Начал читать с первой страницы и запутался там написано про примеры еще старого файла со строками типа <tr> сейчас layout

хотелось бы понять структуру  на примере ниже. 

  Показать содержимое

 

<!-- MF - кнопка (возврат, вкл.ГПС, прицел) -->   

 <VerticalPanel>    

        <HorizontalPanel height="-1"/>      

                   <HorizontalPanel height="40X">        

                             <VerticalPanel width="-1"/>             

                            <VerticalPanel width="40X">   

                                 <ImageLabel  type="text" class="navPanel_ico_sbr" invoke="@navPanel_mf_invoke" bgimage="@square_navPanel_mf_image" text="@icon_mf_text"/>      

                            </VerticalPanel>        

               </HorizontalPanel>       

               <HorizontalPanel height="75X"/> 

</VerticalPanel>

 

5a0efbd064a64_Screenshot_2017-11-18-00-05-10.png.1bca38997b7abc71e5aa458a67112de1.png

 

1. Как узнать к горизонтальному или вертикальному экрану относится элемент.

2. Какие строчки нужно править что бы переместить элемент по вертикали и горизонтали и что бы он не накладывался на другой объект 

3. Как понять HorizontalPanel height="-1",  VerticalPanel width="-1",  "75X" что они означают и какое значение нужно ставить -1 или -2 и больше или 1 и больше. 75x или просто 75 или 75%. Какое минимальное и максимальное значение допустимо

4. Что нужно сделать что бы перенести объект с одного края на другой или в центр экрана. А также вверх или вниз.

Layout был и раньше. Сейчас вместо TR - Horizontal Panel, вместо TD - Vertical Panel или ImageLabel.

Очень кратко я упоминал тут - 

http://forum.probki.net/topic/12123-faq-по-редактированию-langpack-ов/?page=31&tab=comments#comment-365209
http://forum.probki.net/topic/12123-faq-по-редактированию-langpack-ов/?page=17&tab=comments#comment-341297

Про "-1" там же.

Еще как-то alexey62 писал букварь, но сейчас не могу найти по-быстрому.

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

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

 

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 1.7т
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Популярные посты

Во исполнение идеи, кинутой PsevDANImом, закладываю первый камень в фундамент FAQа. Предлагаю в этой теме обсуждений/споров не вести. Если знаете полезную информацию - размещайте (желательно в форма

В рубрике "уроки самопальщика" или "сделай сам себе лангпак" рассмотрим, как немного доработать чужой скин на примере конкретной задачи. Задача - добавить кнопку "скриншот" на основной экран в скин

Как изменить цвет и ширину дорог? Как изменить цвет и размер дельтаплана? Как изменить цвет и ширину линии маршрута? Никак. То есть, лангпаком - никак. Цвета дорог и маршрутной линии можно

Изображения в теме

14 минуты назад, IШIN сказал:

первый пост мне все равно не изменить

Могу помочь. "Бензин ваш, идеи - наши" ©

Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, IШIN сказал:

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

еще как интересно. Буду ждать с нетерпением. Предложение может создать отдельно тему про букварь? и помещать там только инструкции, а обсуждать тут. Потому что искать то не зная что не очень удобно. А 50 страниц пересмотреть сил не хватит. А если и хватит в башке будет каша. как у меня

10 часов назад, fotolom сказал:

Eщё раз. Элементы располагаются последовательно от левого верхнего угла. В горизонтальной панели ниже расположенные в тексте элементы находятся правее, в вертикальном - ниже.

Я так понимаю за точку отсчета все же берется левый верхний угол. И уже от него и пляшем

подскажите программку которой удобно править править .xml файлы. Раньше слыша о программе которая подсвечивала не корректные строки. но забыл как называется.

10 часов назад, fotolom сказал:
10 часов назад, Proks сказал:

и еще скажите классы пункта меню Моё меню и ДинПОИ и кнопок при тапе по экрану финиш, откл GPS, в избранное, заехать и т.д.

Неясен вопрос.

я про это 

Скрытый текст

5a0faff6a9274_Screenshot_2017-11-12-14-55-306.png.e10d73e577b82e3d0cb3b05e7f2b0cf0.png5a0faffd8ac9a_Screenshot_2017-11-18-12-54-03.png.a2cf75d6b143bbb11542498e4b8de658.png

 

Ссылка на сообщение
Поделиться на другие сайты

 

 

 

подскажите программку которой удобно править править .xml файлы. Раньше слыша о программе которая подсвечивала не корректные строки. но забыл как называется.

Гуглим любой "текстовый редактор с подсветкой синтаксиса"

Хвалят вроде Notepad+.

Лично я пользуюсь AkelPad (в нем есть разные плагины. Включил плагин Highliht - и основные конструкции подсвечены).

ЗЫ - мне в итоге не понравилось делать больше 12 пунктов в Ёменю.

Во-первых, пока пункты не назначены, на кнопках автоматом пишется "настроить". Но только на первых 12. А остальные как не родные. Пустяк , конечно, но аккуратненько. Тем более, что... во-вторых, больше и не запомнить, что там куда назначено.

(Или, судя по скриншоту, теперь лимита 12 нет?)

За ашыпке прашю венить TapaTalk

 

 

 

Про классы - однозначного ответа нет. В штатном ЛП вообще один класс для ДПОИ и Ёменю, по-моему. Я свой создавал, не помню, тоже общий или нет. Скорее всего, тоже один на обе менюхи.
А можно сделать разные.
Как найти, что используется сейчас - в начале топика.
Лезем в general, ищем там mymenu, или qmenu или ёменю и находим, на какой Layout ссылается.
Лезем в Layouts, ищем этот Layout, смотрим какие в нем классы используются.

За ашыпке прашю венить TapaTalk

Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, Proks сказал:

я про это

 

2 часа назад, Proks сказал:

хотелось бы иметь названия самых популярных классов. в одном месте. 

1 час назад, IШIN сказал:

В штатном ЛП вообще один класс для ДПОИ и Ёменю, по-моему. Я свой создавал

Мда, Ванги из меня не получится. Только сейчас дошло, что вопрос про популярные (?) классы - это вопрос про ходовые шрифты... А чего так и не спросить? "Классы" лучше звучит? Да и классы - не только шрифты. Потому и не мог внятно ответить...

Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, fotolom сказал:

Мда, Ванги из меня не получится. Только сейчас дошло, что вопрос про популярные (?) классы - это вопрос про ходовые шрифты... А чего так и не спросить? "Классы" лучше звучит? Да и классы - не только шрифты. Потому и не мог внятно ответить...

нет я не про это. Я про то что чаще всего правят. Там скорость панель маршрута значки gps батарейки и т. д. 

посмотрите пожалуйста эти картинки. правильно ли я понимаю как должно размещаться кнопка на экране

 

https://yadi.sk/d/AwQQqqqV3PoazW и https://yadi.sk/d/oXaor2iT3Poazj

Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Proks сказал:

Я про то что чаще всего правят

Правят всё, что угодно, кто что... А многие вообще ничего не правят... Чаще, реже... Классы описывают шрифты, фоны, некоторые кнопки. Как определить, что "чаще" меняют?

5 минут назад, Proks сказал:

правильно ли я понимаю как должно размещаться кнопка на экране

Вроде бы, да. Что касается вопроса "-1" или "1", повторю: "-1" - безразмерная величина, заполняет всё доступное пространство, раздвигая элементы той панели, куда вписана. "1" - это размер, равный 1 пикселу.

Ссылка на сообщение
Поделиться на другие сайты
Скрытый текст

 

<VerticalPanel>    

             <HorizontalPanel height="-1"/>     

        <HorizontalPanel height="40X">          

              <VerticalPanel width="-1"/>      

                <VerticalPanel width="40X">    

                  <ImageLabel  type="text" class="navPanel_ico_sbr" invoke="@navPanel_mf_invoke" bgimage="@square_navPanel_mf_image" text="@icon_mf_text"/>        

                </VerticalPanel>        

            <VerticalPanel width="-1"/>        

        </HorizontalPanel>       

           <HorizontalPanel height="15X"/> 

</VerticalPanel>

 

вот получилось по центру кнопку сделать. Теперь вопрос для знания,  как эту кнопку сдвинуть влево вправо не прижимая к краям?

как использовать "**X"

Ссылка на сообщение
Поделиться на другие сайты
Только что, Proks сказал:

как эту кнопку сдвинуть влево вправо не прижимая к краям?

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

Ссылка на сообщение
Поделиться на другие сайты

вот так?

Скрытый текст

<VerticalPanel>    

             <HorizontalPanel height="-1"/>     

        <HorizontalPanel height="40X">          

              <VerticalPanel width="-1"/>      

                <VerticalPanel width="40X">    

                  <ImageLabel  type="text" class="navPanel_ico_sbr" invoke="@navPanel_mf_invoke" bgimage="@square_navPanel_mf_image" text="@icon_mf_text"/>        

                </VerticalPanel>        

            <VerticalPanel width="10x"/>        

        </HorizontalPanel>       

           <HorizontalPanel height="15X"/> 

</VerticalPanel>

 

Изменено пользователем Proks
Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Proks сказал:

Как увеличить площадь нажатия кнопки?

Чувствительным к нажатию элементом в Вашем примере является квадратная ячейка шириной 40х и высотой 40х, поскольку именно ей сопоставлена команда (invoke). Какой величины сделаете ячейку, такой и будет область чувствительности. 

Изменено пользователем fotolom
Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, fotolom сказал:

Чувствительным к нажатию элементом является квадратная ячейка шириной 40х и высотой 40х, поскольку именно ей сопоставлена команда (invoke). Какой величины сделаете ячейку, такой и будет область чувствительности. 

стандартный размер ячейки получается 40 на 40. Что бы увеличит нужно эти цифры увеличить. Правильно?

Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Proks сказал:

стандартный размер ячейки получается 40 на 40

Никакого "стандартного" нет, это размер из Вашего примера.

Ссылка на сообщение
Поделиться на другие сайты

получается? что площадь нажатия равна этим значениям

<HorizontalPanel height="40X">             

<VerticalPanel width="40X"> 

 

Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Proks сказал:

площадь нажатия равна этим значениям

В данном примере - да.

Ссылка на сообщение
Поделиться на другие сайты

еще вопрос 

по аналогии из примеров выше 

поджать строку можно и снизу безразмерной  величиной вот так:

Скрытый текст

<VerticalPanel>    

             <HorizontalPanel height="75x"/>     

        <HorizontalPanel height="40X">          

              <VerticalPanel width="-1"/>      

                <VerticalPanel width="40X">    

                  <ImageLabel  type="text" class="navPanel_ico_sbr" invoke="@navPanel_mf_invoke" bgimage="@square_navPanel_mf_image" text="@icon_mf_text"/>        

                </VerticalPanel>        

            <VerticalPanel width="-1"/>        

        </HorizontalPanel>       

           <HorizontalPanel height="-1"/> 

</VerticalPanel>

 

2 минуты назад, fotolom сказал:

В данном примере - да.

а есть еще нюансы ?

Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Proks сказал:

а есть еще нюансы ?

Может быть, есть и в данном примере. Как-то не сталкивался. Нужно проверить. Дело в том, что invoke находится в строке с картинкой. Не исключено, что чувствительным элементом будет именно прямоугольник (квадрат) самой картинки. Если invoke вписать в <VerticalPanel width="40X"> вот таким образом: <VerticalPanel width="40X"  invoke="@navPanel_mf_invoke">, то чувствительным станет именно прямоугольник ячейки, но тогда кнопка при нажатии не будет "анимированной". Не знаю, не пробовал увеличивать ячейку без изменения размера кнопки. Но, даже если и так, не проблема. Тогда увеличиваем подложку картинки без увеличения изображения, просто добавив прозрачные поля до нужного размера.

11 минуту назад, Proks сказал:

поджать строку можно и снизу безразмерной  величиной вот так:

Тогда кнопка переместится к верхнему краю.

Ссылка на сообщение
Поделиться на другие сайты
41 минуту назад, Proks сказал:

поджать строку можно и снизу безразмерной  величиной вот так:

Можно, но бесполезно. Так как все равно дальше ничего нет. 

Вставлять строку "-1" в самом низу имеет смысл, если такая была и вверху (как в Вашем примере с центрированием кнопки на экране).

А так - для ЛП необязательно, чтоб сумма всех элементов закрывала экран.  То есть, если хотим вставить строчку вверху и не во всю ширину, а ровно на полэкрана,  то такие два варианта будут идентичными:

<VerticalPanel>    

        <HorizontalPanel height="40X">          

                  <ImageLabel  width="50%" type="text" class="My_Header_text" invoke="@navPanel_mf_invoke" text="@Header_text"/>       

                  <ImageLabel  width="-1"/>     <!-- Проставка-распорка, заполняющая место до правого края  -->

        </HorizontalPanel>       

        <HorizontalPanel height="-1"/>        <!-- Проставка-распорка, заполняющая место до низа  -->

</VerticalPanel>

--------------------------------------------------------------

<VerticalPanel>    

        <HorizontalPanel height="40X">          

                  <ImageLabel  width="50%" type="text" class="My_Header_text" invoke="@navPanel_mf_invoke" text="@Header_text"/>      

         </HorizontalPanel>       

</VerticalPanel>

 

57 минут назад, Proks сказал:

размер ячейки получается 40 на 40

Только помните, как fotolom уже напоминал - это не 40 на 40 пикселей, поскольку написано с Х.

Это 40 на 40 попугаев.

Множитель зависит от размера экрана в пикселях.

У 320х240 (были такие) множитель 1, и реально будет 40х40,

у 640х480 (и 800х480 тоже) - множитель 2, так что "40Х" превращается в 80 пикселей.

И т.д. Точных цифр (какое кол-во пикселей экрана соответствует какому множителю) сейчас не найти.

Изменено пользователем IШIN
Ссылка на сообщение
Поделиться на другие сайты

уточню. если просто 40 то это умножение на 1 если 40x умножение на 2. Правильно я понимаю значение X

а как прижать элемент к левому нижнему краю. Правильно ли я сделал?

Скрытый текст

<VerticalPanel>    

       <HorizontalPanel height="-1"/>       

       <HorizontalPanel height="20"> 

       <ImageLabel width="48x"/>         

                <ImageLabel width="0" bgimage="@pan_navPanel_GPS" align="center" valign="bottom"  platforms="Android,WP,Win32,CE,WM"/>               

                <ImageLabel width="80" bgimage="@pan_navPanel_jams" align="center" valign="bottom" />              

               <ImageLabel width="2" bgimage="@pan_navPanel_battery" align="center" valign="bottom"  platforms="Android,WP,Win32,CE,WM"/>              

      </HorizontalPanel>      

</VerticalPanel

 

Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, Proks сказал:

если просто 40

Если просто 40, то размер указан в пикселах, без всякий множителей, и от разрешения экрана зависеть не будет (поэтому, по-моему, и не применяется), а если 40Х, то на что-то умножается, не обязательно на 2. На что, зависит и от установленной диагонали, и от разрешения экрана, и, поскольку теперь есть настройка размеров элементов интерфейса в самой программе, то ещё и от настроек.

Раньше, когда в ленгпаке было несколько папок с картинками, то название папки как раз и указывало на множитель (day_1.5x, day_2x, day_3x, day_4x, day_6x). Для конкретного разрешения и установленной диагонали выбиралась одна из папок и соответствующий множитель. Теперь папка одна, а множителем заведует программа.

Изменено пользователем fotolom
Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Proks сказал:

а как прижать элемент к левому нижнему краю. Правильно ли я сделал?

С точки зрения прижать к низу - да.

1. Лучше не смешивать пиксели ("20", "80") и "пиксели с множителем" ("48х")

Вообще, чистые пиксели хорошо использовать только в случае рисования ЛП для одного конкретного экрана (что я и делал для 320х240 и потом для 800х480) - в таком варианте можно все подогнать прям с точностью до пикселя.

Если же пытаться сделать хоть чуточку универсальный ЛП, лучше ставить цифры в расчете на умножение. 

2. ImageLabel шириной "0"  (как и вообще если пропустить width) - картинка будет видна, но сама-то ячейка задана нулевой шириной, то есть следующая ячейка начнется с того же места, иными словами, в приведенном примере получится:

в самом низу экрана отведена строка высотой 20 пикс. (на современных экранах это боюсь маловато)

В ней (то есть в самом низу экрана), отступив 48Х (на моем экране это будет 96 пикселей) от левого края будут накладывающиеся индикаторы ГПС и пробок, а потом 2-пиксельный индикатор батарейки.

Ссылка на сообщение
Поделиться на другие сайты

а для чего нужна эта строчка <ImageLabel width="17x"/> или ее можно исключить

пока оставил так 

Скрытый текст

<VerticalPanel>         

 <HorizontalPanel height="-1"/>       

 <HorizontalPanel height="32">

<ImageLabel width="17x"/>        нужна ли эта строчка?  

 <ImageLabel width="20" bgimage="@pan_navPanel_GPS" align="center" valign="bottom"  platforms="Android,WP,Win32,CE,WM"/>             

<ImageLabel width="70" bgimage="@pan_navPanel_jams" align="center" valign="bottom" />        

<ImageLabel width="20" bgimage="@pan_navPanel_battery" align="center" valign="bottom"  platforms="Android,WP,Win32,CE,WM"/>        

<HorizontalPanel height="-1"/>    

</HorizontalPanel>    

</VerticalPanel>

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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


×
×
  • Создать...