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

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


Recommended Posts

Кнопки-то перевернуть - пять минут всего делов.

А в каком порядке поставить?

Тупо зеркально поменять со скриншотом и Quick-меню?

А Меню и ДПОИ менять местами, или оставить как есть? (я-то специально ДПОИ в тот уголок ставил, мне его там вслепую нажимать удобнее всего).

 

55cca55bb0cf1_.thumb.jpg.947b5a7a6e0cd4e

Да, можно "тупо" зеркально поменять блоки местами

Link to post
Share on other sites
  • Replies 1.7k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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

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

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

Posted Images

  • 1 month later...

Уважаемый IШIN

Как в скине под Андроид добавить кнопки в "мое меню". У меня их шесть, а хотелось бы 12-15. Учитывая то, что в программировании я не ас, то хотелось бы получить Вашу помощь, как поменять и что поменять с разъяснениями. заранее благодарю.

Link to post
Share on other sites

Не вопрос. Загляну только в андроидный лангпак, и во второй половине дня (маленько освобожусь) расскажу.

Link to post
Share on other sites

Как в скине под Андроид добавить кнопки в "мое меню". У меня их шесть, а хотелось бы 12-15. 

Ну что ж, попробуем разобраться.

Итак, нам понадобятся файлы general.xml и layouts.xml из папки general в файле langpack.rsr

Начнем с general.xml
Находим в нем пункт быстрое меню:


  <!--Быстрое меню которое вызывается с меню карты-->
  <menu name="QuickMenu" cols="2" rows="3">
    <props title="@QuickMenu_title" layout="template_FinishM" autohide="7000"/>
    <items>
      <item name="quick1" tip="@quick1_txt" image="@quick1_img"/>
      <item name="quick2" tip="@quick2_txt" image="@quick2_img"/>
      <item name="quick3" tip="@quick3_txt" image="@quick3_img"/>
      <item name="quick4" tip="@quick4_txt" image="@quick4_img"/>
      <item name="quick5" tip="@quick5_txt" image="@quick5_img"/>
      <item name="quick6" tip="@quick6_txt" image="@quick6_img"/>
    </items>
  </menu>

Итак, в нем 6 пунктов, для каждого будет выводиться своя надпись (параметр tip="@quick1_txt") и картинка (image="@quick1_img").
Очевидно, что можно увеличить число пунктов:

  <!--Быстрое меню которое вызывается с меню карты-->
  <menu name="QuickMenu" cols="2" rows="3">
    <props title="@QuickMenu_title" layout="template_FinishM" autohide="7000"/>
    <items>
      <item name="quick1" tip="@quick1_txt" image="@quick1_img"/>
      <item name="quick2" tip="@quick2_txt" image="@quick2_img"/>
      <item name="quick3" tip="@quick3_txt" image="@quick3_img"/>
      <item name="quick4" tip="@quick4_txt" image="@quick4_img"/>
      <item name="quick5" tip="@quick5_txt" image="@quick5_img"/>
      <item name="quick6" tip="@quick6_txt" image="@quick6_img"/>
      <item name="quick7" tip="@quick7_txt" image="@quick7_img"/>
      <item name="quick8" tip="@quick8_txt" image="@quick8_img"/>
      <item name="quick9" tip="@quick9_txt" image="@quick9_img"/>
      <item name="quick10" tip="@quick10_txt" image="@quick10_img"/>
      <item name="quick11" tip="@quick11_txt" image="@quick11_img"/>
      <item name="quick12" tip="@quick12_txt" image="@quick12_img"/>
    </items>
  </menu>

Но это не все! обратите внимание, в строке заголовке написано props title="@QuickMenu_title" layout="template_FinishM" autohide="7000"
то есть расположение кнопок на экране описано раскладкой FinishM, что сразу настораживает - наверняка есть какое-то меню финиша, в котором тоже было 6 кнопок.
А мы щас наизменяем, и увеличив Ёменю, можем испортить что-то другое.
Так и есть  - следующий за QuickMenu раздел
начинается с 
  <menu name="FinishCM" rows="3" cols="2">
    <props title="@finish_title" layout="template_FinishM" autohide="5000"/>

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

  <!--Быстрое меню которое вызывается с меню карты-->
  <menu name="QuickMenu" cols="2" rows="3">
    <props title="@QuickMenu_title" layout="template_QuickM" autohide="7000"/>
    <items>
      <item name="quick1" tip="@quick1_txt" image="@quick1_img"/>
      <item name="quick2" tip="@quick2_txt" image="@quick2_img"/>
      <item name="quick3" tip="@quick3_txt" image="@quick3_img"/>
      <item name="quick4" tip="@quick4_txt" image="@quick4_img"/>
      <item name="quick5" tip="@quick5_txt" image="@quick5_img"/>
      <item name="quick6" tip="@quick6_txt" image="@quick6_img"/>
      <item name="quick7" tip="@quick7_txt" image="@quick7_img"/>
      <item name="quick8" tip="@quick8_txt" image="@quick8_img"/>
      <item name="quick9" tip="@quick9_txt" image="@quick9_img"/>
      <item name="quick10" tip="@quick10_txt" image="@quick10_img"/>
      <item name="quick11" tip="@quick11_txt" image="@quick11_img"/>
      <item name="quick12" tip="@quick12_txt" image="@quick12_img"/>
    </items>
  </menu>

На этом с general.xml все, переходим к layouts.xml

 

В layouts.xml ищем магическое template_FinishM и находим
(ага, понятно, это для горизонтального режима)

  <layout name="template_FinishM_hor">
    <VerticalPanel>
      <HorizontalPanel height="13.33X" name="toolbar" class="taskbar_bg"/>
      <HorizontalPanel height="29%">
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon1_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon1_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon1_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon2_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon2_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon2_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon3_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon3_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon3_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon4_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon4_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon4_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon5_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon5_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon5_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon6_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon6_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon6_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
      </HorizontalPanel>
      <HorizontalPanel height="24.66X">
        <ImageLabel invoke="@closedlg_hidden"/>
      </HorizontalPanel>
    </VerticalPanel>
  </layout>

Тупо копируем этот layout (ну, сразу после самого себя) и переименовываем:
  <layout name="template_QuickM_hor">

И этот новый лэйаут начинаем редактировать (а для начала пытаемся понять, что тут где).
1.  строка       <HorizontalPanel height="13.33X" name="toolbar" class="taskbar_bg"/>
Очевидно, оставленная строчка типа заголовка. Бог с ней, не будем трогать.

2. Фрагмент
      <HorizontalPanel height="-1">
        <ImageLabel invoke="@closedlg_hidden"/>
      </HorizontalPanel>

HorizontalPanel - это строка. То есть мы имеем строку высотой -1 (как уже говорили, это значит "все оставшееся свободное место"). Всю эту строку занимает поле (ImageLabel) без картинки или текста, но с присвоенной командой 
invoke="@closedlg_hidden"
Понятно, значит, это пустое (прозрачное) место над кнопками, и при тыке в него меню закроется. Отлично.
Дальше: 
3.


        <HorizontalPanel height="29%">
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon1_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon1_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon1_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>

                ..........
      </HorizontalPanel>

 

Вот оно! Это и есть строка высотой 29% экрана, в которой 6 раз повторяются кнопочки с разными номерами.
А давайте-ка мы всю эту HorizontalPanel скопируем еще раз, и во второй строке перенумеруем кнопки. Получим:

      <HorizontalPanel height="29%">
            <!--  ЭТО ПЕРВАЯ СТРОКА 6 КНОПОК -->
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon1_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon1_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon1_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
..............................
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon6_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon6_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon6_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
      </HorizontalPanel>

      <HorizontalPanel height="29%">
            <!--  ЭТО МЫ ВСТАВИЛИ ВТОРУЮ СТРОКУ 6 КНОПОК -->
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon7_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon7_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon7_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
..............................
        <VerticalPanel width="-1" class="QM_itemBG" invoke="@icon12_invoke">
          <HorizontalPanel height="-1"/>
          <HorizontalPanel height="24X">
            <ImageLabel class="item_center" bgimage="@icon12_image"/>
          </HorizontalPanel>
          <HorizontalPanel height="20X">
            <ImageLabel width="5%"/>
            <ImageLabel width="90%" type="text" class="QM_itemTxt" text="@icon12_text"/>
          </HorizontalPanel>
          <HorizontalPanel height="-1"/>
        </VerticalPanel>
      </HorizontalPanel>

 

Как видим, в коде каждой кнопки надо изменить только три числа - номер команды icon7_invoke, номер подписи icon7_text и номер картинки icon7_image


4. В конце видим строчку - тоже служебная (нижний бар), трогать не будем.


      <HorizontalPanel height="24.66X">
        <ImageLabel invoke="@closedlg_hidden"/>
      </HorizontalPanel>

 

В итоге, мы добавили вторую строку, и теперь кнопки (2 строки) занимают 58% экрана, но к счастью, мы ничего не теряем - помните, в начале была строка "резиновой" высоты (-1). Она ужмется, и все у нас в экран влезет.

Теперь ищем раздел   <layout name="template_FinishM_ver">
И с ним поступаем аналогично.

  • Upvote 2
Link to post
Share on other sites

Ну что ж, попробуем разобраться.

 

Как все для меня это сложно, но буду пробовать разобраться.

Спасибо IШIN за подробное разъяснение.

Link to post
Share on other sites

Если у Вас штатный ЛП, и хочется просто увеличить в нем число кнопок в Ёменю - то вот уже измененный:

Штатный ЛП 8.4.682 с 12 пунктами Ёменю

Тем более, что в данном выше ликбезе я забыл упомянуть еще про один маленький раздел в файле general (который вызывается из меню-настройки-Ёменю. В принципе, поиском по файлу по слову "quick" находится. Но это - чисто если самому разобраться на досуге захочется).

Если же у Вас нештатный ЛП, то можете выложить - я добавлю пунктов.

Насчет 15 - я думаю, перебор, по двум причинам.

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

2. На неназначенных кнопках пишется "настроить" и плюсик. И можно по-быстрому изменить кнопку. На СЕ на кнопках выше 12-й это не писалось. При этом все работало, и назначить кнопку можно. Чистое эстетство - как-то неаккуратненько без картинки и надписи. Не знаю, пофиксили это на андроиде или нет, но я до сих пор стараюсь больше 12ти не делать.

Link to post
Share on other sites

 

2. На неназначенных кнопках пишется "настроить" и плюсик. И можно по-быстрому изменить кнопку. На СЕ на кнопках выше 12-й это не писалось. При этом все работало, и назначить кнопку можно. Чистое эстетство - как-то неаккуратненько без картинки и надписи. Не знаю, пофиксили это на андроиде или нет, но я до сих пор стараюсь больше 12ти не делать.

Не, не пофиксили.

Я себе из 8.4 кроил LP - всё то же самое. 12 с плюсами, 3 - пустые. Но все работают

Да и не будут фиксить.

В штатном же LP всего 6 кнопок - так что 12 хватит:rolleyes:

Link to post
Share on other sites

 

Если же у Вас нештатный ЛП, то можете выложить - я добавлю пунктов.

 

Я пользуюсь на Андроиде скинами от Alexey62

в Сити Гид - LangPack 3 в 1, а в Геонет - LangPack 5 в 1.

Я их немного доработал (раскрасил) под свои интересы, а вот кнопки в мое меню добавить не смог. А как можно выложить скины?

Edited by michaelo
Link to post
Share on other sites

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

Link to post
Share on other sites

Да, скачались нормально.

(а я-то думал, что прилепить в форум два файла по 10 МБ нереально)

Edited by IШIN
Link to post
Share on other sites

 

Проверяйте. Я по-быстрому запустил на ПК - работает, но детально не смотрел.

LangPack_3_в_1.rsr

LangPack_5_в_1.rsr

Кстати, если когда-нибудь не получится вставить скриншот в пост - можете в свой профиль войти и удалить те два файла, что выложили. На форуме ограниченное файлохранилище, и лишние 20 МБ там держать смысла большого нет, тем более что уже неактуально.

Edited by IШIN
Link to post
Share on other sites

Проверяйте. Я по-быстрому запустил на ПК - работает, но детально не смотрел.

 

Огромное спасибо! Все отлично!

Но получив малое, хочется большего...

Уважаемый IШIN.

У меня к Вам просьба. Так как я профан в программировании, но активный пользователь Сити Гида, и хочется чтобы на экране было все понятно, я пользуюсь не штатными скинами. На WinCE я поставил Ваш скин, а на Андроиде пользуюсь скинами от Alexey62. К сожалению, скинов от Alexey62 мы больше скорее всего не увидим (что-то с ним случилось). А по моей (да и не только моей - поклонников его скинов немало) просьбе он собирался сделать универсальную сборку своих скинов - 5 в 1, но так и не успел. Не могли бы Вы заняться решением этого вопроса (я согласен даже оплатить труды). Если Вы согласны - напишу подробности этого проекта. Я думаю многие пользователи будут Вам благодарны.

Link to post
Share on other sites

он собирался сделать универсальную сборку своих скинов - 5 в 1, но так и не успел. Не могли бы Вы заняться решением этого вопроса 

:(

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

1. Я себе свой-то скин под андроид никак не могу доделать. Только половину сделаю - выходит новый релиз, и надо что-то переделывать. (как черт возьми это делали alexey62, vlego, ERER - я не в курсе. Наверное, заказали на алиэкспрессе замедлятель времени....)

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

2. В чужом творении обычно сложнее разобраться, чем делать с нуля. Мелочи (что-то передвинуть, где-то цвет шрифта поменять) - это еще реально.

3. Самое главное - я не верю в универсальные скины. ERER пошел правильным путем - написал конструктор - каждый делает себе как хочет. Но на такое у меня знаниев не хватает. 5 в 1 - я так понимаю, вообще пять разных скинов (начиная с "классического" со шторой)? Я как-то тоже думал - оооо, сделать несколько вариантов интерфейса, чтоб выбирать! а потом понял, что баловство это, перебирать набор - "недельку" - "сегодня тоскливо, поеду с фиолетовым скином". Большинство выбирают один и ездят всегда с ним. Так что нет смысла раздувать файл лишней графикой. И по-любому - вымеряешь размеры кнопочек-текстиков... а потом один девайс с нестандартным экраном - и все наползает... Вот я и рисую проверенные 480х800 и вымеряю до пикселя. 

Link to post
Share on other sites

Согласен полностью с IШIN.

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

Как привыкнешь к одному скину, к одной ориентации, так и ездишь.

Поэтому, многоскиновость, многоориентированность, поддержку всех разрешений экранов  могут себе позволить только программисты-дизайнеры или просто маньяки своего дела (в хорошем смысле слова)

Edited by srs
Link to post
Share on other sites

:(

Думаю, не потяну

Ну что же, спасибо и за то, что уже доработали для меня.

Link to post
Share on other sites

в том-то и дело, что нигде. Я сначала возился - перерисовывал кнопки,  потом лепил себе экран с навиг. панелью, и до менюшек даже не успел дойти - обновилась программа, надо начинать почти сначала. Даже 8.4 от 8.2 существенно отличается, а уж от 7 - и подавно. И сейчас всё руки не доходят начать снова. Я ж андроидом пользуюсь в экстренных случаях, так что - по остаточному принципу. С момента выхода .682 релиза штатный стоит, не трогал еще.

Edited by IШIN
Link to post
Share on other sites

Уважаемый IШIN хочу к вам обратиться я использую СитиГИД в магнитоле штатной на гранте скин штатный мне не нравился я его заменил на  этот LangPack800x480.rsr

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

LangPack800x480.rsr

пример 2.jpg

LangPack800x480.rsr1

Link to post
Share on other sites

Что-то я не понимаю... С кнопкой-то все просто. Она и в обычном СГ есть, кстати, только в Ёменю - Свернуть.

Можно добавить и в виде домика на карту. Но есть нюанс. Тот скин, который без единички, у меня вообще не работает. В нем ошибка, где-то пропущены строчки, так что с ним СГ запускается вообще с пустой картой. Это точно тот, с которым ездите?

 

Link to post
Share on other sites

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

LangPack.rsr

Link to post
Share on other sites

Вот вроде получилось. Проверьте. На ПК-версии вроде работает.

https://yadi.sk/d/D3xL6zxCjLjVx

Вот только шкалы я там пока не нашел. Еще покопаюсь. У меня она (шкала) показывается не Ситигидовскими средствами

А в штатном нашел только иконку Блютуза, иконку связи с КАНшиной и иконку "Мьют".

А шкала в нем рисуется случайно не текстом (ну, например, вместо названия текущей улицы пишется "||||||||||||||", нет?)

Edited by IШIN
Link to post
Share on other sites

 

А шкала в нем рисуется случайно не текстом (ну, например, вместо названия текущей улицы пишется "||||||||||||||", нет?)

Вот этот вопрос не совсем понял, шкала отображаеться нормально, и название улиц тоже нормально. На штатном скине

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...