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

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


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

  В 07.09.2020 в 12:53, Егор 5 сказал:

скин от  Алексея 62 установите

Показать  

спасибо конечно, но он не очень нравится мне.

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

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

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

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

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

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

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

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

приветствую. Помогите разобраться с кнопкой. Хочу добавить кнопку отключающую звук. Место кнопки под временем и датой в правом верхнем углу. 

Screenshot_20200910-000353.png.d2ded0758b9aebec999504f6803d0181.png

прописываю так:

<!-- время и дата горизонтально без маршрута модерн вид-->
        <VerticalPanel width="47.33X">
          <HorizontalPanel height="2X"/>
          <HorizontalPanel height="24X">
            <VerticalPanel>
              <HorizontalPanel height="14X">
                <ImageLabel type="text" class="square_cur_time" text="@navPanel_txt_time"/>
              </HorizontalPanel>
              <HorizontalPanel height="8X">
                <ImageLabel type="text" class="square_cur_date" text="@navPanel_txt_date"/>
              </HorizontalPanel>
			  <!--HorizontalPanel height="2X">
                <ImageLabel type="text" class="square_cur_date" text="@navPanel_txt_date"/>
              </HorizontalPanel-->
            </VerticalPanel>
          </HorizontalPanel>
        </VerticalPanel>
		
		<!-- кнопка звук горизонтально без маршрута модерн вид -->
	  <VerticalPanel>
  	     <HorizontalPanel height="32X" > 
	         <VerticalPanel width="-1"/> 
           <VerticalPanel width="32X">
		      <ImageLabel type="text" class="saund_txt" text="@subset_mute_switch" invoke="subset_mute_all"/>
           </VerticalPanel>  
         </HorizontalPanel>  
     </VerticalPanel>

получается вот это

Screenshot_20200910-003306.png.75b2363972bfe3b348704b42f7b72491.png

кнопка скрывает дату. помогите понять принцип действий. Читал FAQ там уже устаревшая информация по структуре. не понятно что за что отвечает. Я так понимаю, что кнопка должна быть отдельной не в блоке с временем или я не прав? Как кнопке задать нужное место?

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

Еще видел там ответы на эту тему - 

http://4pda.ru/forum/index.php?showtopic=625673&amp;view=findpost&amp;p=42391389

Показать  

Решил еще «пошаманить» с кан. Пообщался с CrazyDron, он сказал, что у кан-панели приоритет самый высокий, то есть она должна быть поверх всех окон, как и его клвиатура из сингл-меню. 

К сожалению у ситигида от Весты приоритет еще выше, не знаю как они это делают. 

Грантовский СитиГИД кан-панель и клавиатуру пропускает, Вестовский—нет. 

Может будут какие мысли по этому поводу—буду рад любому совету. 

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

Хочу добавить кнопку отключающую звук. Место кнопки под временем и датой в правом верхнем углу. 

Показать  

Зачем доп. кнопки, а не проще на дату и время  сделать команду invoke= откл. звука.

Изменено пользователем Егор 5
*
Ссылка на сообщение
Поделиться на другие сайты
  В 10.09.2020 в 04:01, Егор 5 сказал:

Зачем лишнии кнопки, а не проще на дату и время  прицепить команду invoke= откл. звука.

Показать  

возможно. Но так более наглядней. Бьюсь второй день ни как не могу добиться результата. То кнопка налазит на дату то опущу но она не нажимается. Может подскажите как сделать, хотелось бы понять принцип действия. Как ее разместить под датой. Где то рядом брожу а выхода найти не могу 

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

Я понимаю что вот эти строки задают блок-место для даты и время

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

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

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

Как выделяется место под теже кнопки и надписи на экране.

Показать  

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

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

Место кнопки под временем и датой в правом верхнем углу. 

 

Показать  

Мне кажется, что при таком коде получится в лучшем случае не под временем, а рядом с ним. А то и не получится. Чтобы ПОД временем, я бы попробовал так:

<!-- время и дата горизонтально без маршрута модерн вид-->
        <VerticalPanel width="47.33X">
          
          <HorizontalPanel height="2X"/>
          <HorizontalPanel height="24X">
            <VerticalPanel>
              <HorizontalPanel height="14X">
                <ImageLabel type="text" class="square_cur_time" text="@navPanel_txt_time"/>
              </HorizontalPanel>
              <HorizontalPanel height="8X">
                <ImageLabel type="text" class="square_cur_date" text="@navPanel_txt_date"/>
              </HorizontalPanel>
			  <!--HorizontalPanel height="2X">
                <ImageLabel type="text" class="square_cur_date" text="@navPanel_txt_date"/>
              </HorizontalPanel-->
            </VerticalPanel>
          </HorizontalPanel>
          
  			  <!--В ячейке шириной 47.33 закончилась строка с временем и датой, начинаем строку с кнопкой-->        
          
           <HorizontalPanel height="32X">    <!-- тут кстати убрал лишний пробел. Вряд ли дело в нем, но в каких-то случаях влияло -->
              <!-- кнопка звук горизонтально без маршрута модерн вид -->
               <VerticalPanel width="-1"/> 
             <VerticalPanel width="32X">
                <ImageLabel type="text" class="saund_txt" text="@subset_mute_switch" invoke="subset_mute_all"/>
             </VerticalPanel>  
           </HorizontalPanel>   
          
        </VerticalPanel>
		

Но не проверял, это так, по-быстрому прикинул.

 

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

Но не проверял, это так, по-быстрому прикинул.

Показать  

ну вроде бы кнопка встала на свое место, только вот нажатие не проходит, точнее проходит но область нажатия ооочень маленькая. Срабатывает только через раз 10, а то и более. Получается при нажатии выскакивает быстрое меню с кнопками отл GPS финиш в избранное и так далее

получилось вот так. Но область нажатия выделил овалом. Как ее поправить на кнопку?

Screenshot_20200910-201021.png

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

Я картинку кнопки опустил ниже, а поле нажатия осталось на месте. Как его привязать к кнопке?

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

область нажатия ооочень маленькая. Срабатывает только через раз 10, а то и более.

Показать  

Думаю, возможно надо вешать инвоку не на текст, а на всю ячейку?

Что если вот так попробовать?

<HorizontalPanel height="32X">
  <!-- кнопка звук горизонтально без маршрута модерн вид -->
  <VerticalPanel width="-1"/> 
  <VerticalPanel width="32X" invoke="subset_mute_all">
    <ImageLabel type="text" class="saund_txt" text="@subset_mute_switch"/>
  </VerticalPanel>  
</HorizontalPanel>   

А в целом - надо бы весь "layout" посмотреть, т.к. там вопрос - как эти вертикалпанели расположены, какого уровня?

В смысле, даже не весь файл Layouts, а секцию из него <layout=.... >   ......   </layout> , где кнопка.

 

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

В смысле, даже не весь файл Layouts, а секцию из него <layout=.... >   ......   </layout> , где кнопка

Показать  

вот этот блок.

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

 

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

Что если вот так попробовать?

Показать  

попробовал, результат тот же. Область нажатия не изменилась

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

Все, понял.

Это все ВертикалПанели "верхнего уровня", типа корневых каталогов, то есть сразу в блоке Layout, а не в других горизонт.Панелях.

Тогда возвращаемся к первоначальному Вашему варианту. и чуть-чуть его меняем.

Не уверен, но подозреваю, что ширина в верхнем блоке VerticalPanel могла влиять.

Обычно, если блок без ширины, он считается как бы нулевой ширины (для Гориз.панели  - то же самое про высоту).

И тогда следующий аналогичный блок отсчитывает свои расстояния от той же точки (то есть как бы накладывается на предыдущий). 

Поэтому я бы поставил ширину 47.33 в середине, вот так:

        <VerticalPanel>
          <HorizontalPanel height="2X"/>
          <HorizontalPanel height="24X">
            <VerticalPanel width="47.33X">   <!--ширину из первой строки переставил сюда. на всякий случай.-->
              <HorizontalPanel height="14X">
                <ImageLabel type="text" class="square_cur_time" text="@navPanel_txt_time"/>
              </HorizontalPanel>
              <HorizontalPanel height="8X">
                <ImageLabel type="text" class="square_cur_date" text="@navPanel_txt_date"/>
              </HorizontalPanel>
            </VerticalPanel>
          </HorizontalPanel>
        </VerticalPanel>
		
		<!-- кнопка звук горизонтально без маршрута модерн вид -->
	  <VerticalPanel>
  	     <HorizontalPanel height="32X" > 
	         <VerticalPanel width="-1"/> 
           <VerticalPanel width="32X">
		      <ImageLabel type="text" class="saund_txt" text="@subset_mute_switch" invoke="subset_mute_all"/>
           </VerticalPanel>  
         </HorizontalPanel>  
     </VerticalPanel>

У меня на Виндовой версии с таким фрагментом работает, дата - в левом верхнем углу, мьют - в правом верхнем. Только из-за отсутствия нужных картинок и стилей, я проверял просто закрашиванием этих кнопок.

Дальше. Про область нажатия. Надо быть осторожным с наложением областей.

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

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

Иногда - что есть какие-то приоритеты.

Правильный вариант - чтоб наложений не было (то есть везде, где есть invoke=", проверять и возможно менять границы ячеек, чтоб в любой точке была только одна область нажатия, только в одном слое). Это не всегда вообще возможно, да и трудоемко.

Так что для начала я попробовал бы простой способ. Сдвиньте этот блок (вертикалпанель с кнопкой выкл.звука) в самый низ лэйаута, перед закрывающим тегом </layout>.

Есть очень большой шанс что сработает.

А сейчас у Вас получается, что нажатие срабатывает только в той части кнопки MUTE, где она не перекрывается никакой другой активной областью. Не очень путанно изложил?

 

 

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

у меня тут возникло несколько вопросов по тому куску кода что кидал выше. 
1. <layout это начало кода 
с именем 
name="template_buttons_drive_4_hor"> Который означает параметры кнопок в режиме без построения маршрута 4 вид(т.е. модернизированный), Правильно?
2. В этом куске кода есть строки такого вида 
bgimage="@panel4_script_overview", он означает какие использовать картинки. Правильно? Поиском в папку day_6x находятся некоторые картинки в частности картинка bgimage="@panel4_ico_photo", но вот картинка с названием bgimage="@panel4_script_overview". Почему так?
3. по структуре вопрос.

      <HorizontalPanel height="67X> это горизонтальная панель в ширину?
      <HorizontalPanel width="37X"> это горизонтальная панель в высоту?
        <VerticalPanel height="65X"> это вертикальная панель в ширину? 
        <VerticalPanel width="-1">   это вертикальная панель в высоту?
        как правильно понять за что отвечают эти строки?  как с помощь них делать ячейку для той же кнопки? Как разместить кнопку допустим на чистом экране на котором нет ни чего вообще. в правом верхнем углу, в правом левом углу, в нижнем правом, нижнем левом, по центу. Как разместить кнопку одну над другой и рядом слева или справа? Хочется понять принцип. Что бы в дальнейшем было меньше почему. Кое что понятно но не знаю правильно ли понимаю
        вот например это

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

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

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

Поэтому я бы поставил ширину 47.33 в середине, вот так:

Показать  

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

 

Screenshot_20200911-182252.png

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

сместил вниз заработало. Но какой принцип?

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

обрадовался но рано. 

при таком значении 

<HorizontalPanel height="122X"><!-- Сдвиг вниз-->

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

 

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

но нажатие происходит и на много выше или ниже самой кнопки. Область нажатия вышла за пределы кнопки.

Показать  

Естественно. Если нарисовать прямоугольники будет понятно.

У нас в вертикалпанели идет строка (гориз.панель) высотой 122. (во всю ширину экрана).

Она разделена на две части (колонки- вертпанели) - правая шириной 32 и левая все остальное (отступ, т.к. в ней ничего нет) .

А в правой вставлено поле с инвокой (то есть с нажатием).

И это правое поле соответствует размерам ячейки в которой оно располагается, то есть 32 в ширину и 122 в высоту (я тут пропускаю множитель, который обозначается буквой x, то есть там не 122 пикселя, а типа 122х6 или на 4 - не знаю).

Чтоб этого не было, надо не растягивать строку до 122X, а вставить перед ней пустышку.

Вот так:

<VerticalPanel>
  <HorizontalPanel height="90X"/><!--отступ от верха-->
  <HorizontalPanel height="32X"><!-- строка-->
    <VerticalPanel width="-1"/> <!--отступ от левого края - все свободное пространство-->
    <VerticalPanel width="32X"> <!--колонка, прижатая вправо-->
      <ImageLabel type="text" class="saund_txt" text="@subset_mute_switch" invoke="subset_mute_all"/><!--ячейка, ее размер получится 32x на 32x-->
    </VerticalPanel>
  </HorizontalPanel>     
</VerticalPanel>

 

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

не знаю правильно ли сделал но вроде бы работает правильно

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

 

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

Если нарисовать прямоугольники будет понятно.

Показать  

Screenshot_20200911-200800.thumb.png.c04c13b23297f25f16f6ebddf9ba0e72.png

примерно вот так. Но у меня вопрос на счет <VerticalPanel width="-1"/>. Правильно ли я ее обозначил графически? Или она не такая широкая 

Подскажите еще, как можно чуточку сдвинуть эту панель вправо?. Находится в том же блоке что и кнопка громкости

Screenshot.png.cef8a5d918c1f302a185a99d8f3836d0.png

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

 

еще вопрос возник если поставить значение отличное от -1 в это строке что изменится

<VerticalPanel width="-1"/>

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

Правильно ли я ее обозначил графически? Или она не такая широкая 

Показать  

Ее - правильно. Остальное - нет.

Вот так:

image.thumb.png.b3d388b6334446b7def3a11863172402.png

Черная - верт.панель "верхнего уровня", та, в которой вложено все остальное. Она без ширины (там у меня не сохранился один пост - я писал, что гориз.панель бывает ТОЛЬКО с высотой, а вертикальная ТОЛЬКО с шириной, ну или без, но вертикальная с высотой не бывает, она всегда во всю высоту "родительской" панели). Раз первая (черная) верт.панель задана без ширины, она растянется на размер того, что будет внутри нее (она резиновая).

В ней сначала идет гориз.панель (красная) высотой 70 (пустая, в ней ничего) , потом синяя - высотой 32.

В ней - верт панель шириной -1 (желтая) и шириной 32 (зеленая). А в ней - ячейка (ImageLabel)

То есть размер яччейки определяется высотой гориз.панели и шириной верт панели.

Дальше.

Ширина верт.панели -1 (так же как высота гориз.панели -1) означает "Все нерасписанное пространство".

В данном случае у нас панели шириной "-1" и "32", тогда "-1" превращается во всю ширину за минусом 32.

Чтобы прижать элемент к нижнему краю надо аналогично сделать гориз.панель высотой -1 (пустую), а потом гориз.панель например высотой "32Х".

Если есть несколько панелей шириной "-1", то все свободное пространство делится между ними поровну.

То есть например вот так получим кнопку по центру экрана.

<VerticalPanel>
  <HorizontalPanel height="-1"/><!--Отступ сверху-->
  <HorizontalPanel height="32X"><!--строка в середине, высотой 32-->
    <VerticalPanel width="-1"/> <!--Отступ слева-->
    <VerticalPanel width="32X"> <!--ячейка в центре экрана, ее размер получится 32x на 32x-->
      <ImageLabel type="text" class="saund_txt" text="@subset_mute_switch" invoke="subset_mute_all"/><!--ячейка, ее размер получится 32x на 32x-->
    </VerticalPanel>
    <VerticalPanel width="-1"/> <!--Отступ справа-->
  </HorizontalPanel>
  <HorizontalPanel height="-1"/><!--Отступ снизу-->
</VerticalPanel>

 

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

Вот так:

Показать  

, спасибо. А не могли бы аналогично рассказать как сделать

вот так сверху экрана

1833638098_.png.b933ab8bda1dfe8fb2775360632e51e6.png

данные в левом углу, по центру и в правом углу

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

Очевидно.

Verticalpanel, в ней horizontalpanel height 32x

А в ней три verticalpanelи:

Одна шириной 32x, вторая -1, третья 32x.

И в каждой верт.панели imagelabel.

Цифры конечно для примера, главное - средняя панель шириной -1.

Пардон, с телефона подробно писать неудобно.

Да, по-моему можно ещё упростить конструкцию. Вместо трёх вертпанелей внутрь гориз.панели вставить сразу imagelabel, все так же три штуки с шириной 32x, -1 и 32x.

Так меньше строк и читаемее.

Мне казалось что такой ход работает. Но надо проверить...

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

Очевидно.

Показать  

спасибо за урок. 

Кнопки научился ставить, а вот как действия на кнопу сделать. В частности мне нужно задействовать две кнопки. На одну ИСТОРИЯ, на вторую ПОИСК.

Понимаю что нужно прописать  invoke="", а что нужно туда вписать. Как команда называется. Или помимо  invoke= нужно еще что то писать? 

Сейчас у меня вот так 

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

помогите оживить кнопку поиск?

пишу вот так 

invoke="@btn_search"

вызывается голосовой поиск, но мне его не нужно

 

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

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

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

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

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

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

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

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

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


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