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

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


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

  В 17.11.2017 в 15:30, Proks сказал:

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

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

  Показать контент

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а. Предлагаю в этой теме обсуждений/споров не вести. Если знаете полезную информацию - размещайте (желательно в форма

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

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

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

  В 17.11.2017 в 19:09, IШIN сказал:

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

Показать  

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

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

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

Показать  

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

  В 17.11.2017 в 17:25, fotolom сказал:

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

Показать  

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

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

  В 17.11.2017 в 17:25, fotolom сказал:
  В 17.11.2017 в 17:05, Proks сказал:

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

Показать  

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

Показать  

я про это 

  Показать контент

 

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

 

 

 

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

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

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

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

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

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

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

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

 

 

 

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

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

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 03:52, Proks сказал:

я про это

Показать  

 

  В 18.11.2017 в 04:31, Proks сказал:

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

Показать  
  В 18.11.2017 в 06:03, IШIN сказал:

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

Показать  

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

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 07:10, fotolom сказал:

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

Показать  

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 07:18, Proks сказал:

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

Показать  

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

  В 18.11.2017 в 07:18, Proks сказал:

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

Показать  

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

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

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

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

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 07:37, Proks сказал:

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

Показать  

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

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

вот так?

  Показать контент

 

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

вот так?

Показать  

Как вариант, да.

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 07:59, Proks сказал:

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

Показать  

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

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

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

Показать  

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

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 08:06, Proks сказал:

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

Показать  

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

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

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

<HorizontalPanel height="40X">             

<VerticalPanel width="40X"> 

 

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 08:17, Proks сказал:

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

Показать  

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

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

еще вопрос 

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

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

  Показать контент

 

  В 18.11.2017 в 08:20, fotolom сказал:

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

Показать  

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

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 08:22, Proks сказал:

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

Показать  

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

  В 18.11.2017 в 08:22, Proks сказал:

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

Показать  

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

Ссылка на сообщение
Поделиться на другие сайты
  В 18.11.2017 в 08:22, 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>

 

  В 18.11.2017 в 08:06, 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

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

  Показать контент

 

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

если просто 40

Показать  

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

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

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

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

Показать  

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

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

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

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

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

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

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

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

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

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

  Показать контент

 

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

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

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

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

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

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

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

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

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


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