Inconsistent Dialogue Layout Between Mobile and Tablet

239 views
Skip to first unread message

karam mohammed 1

unread,
Oct 14, 2026, 7:45:24 AMOct 14
to mementodatabase

First, thank you, mmm, for creating and sharing this library!

I'm using the library you created (template attached) on both mobile and tablet, but the layout is inconsistent across devices.

The Tooth Selection dialog in the screenshots is just one example; many elements throughout the Dialogue are misaligned or displayed incorrectly.

How can I make the layout consistent across both devices, regardless of screen size?

Thanks in advance for your help!

Screenshot 2026-10-14 141950.png
Screenshot 2026-10-14 141320.png
Tooth_Selection.mlt2

Mmm

unread,
Oct 17, 2026, 1:23:55 PMOct 17
to mementodatabase
Вариант с настройками конфигураций для разных ОС.
Нужная конфигурация выбирается скриптами автоматически по ответу system().os.

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

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

На Андроиде ширина родительского контейнера определяется по двум верхним кнопкам. Нужно совместить их центры.
На Windows только подбор.

Шаблон библиотеки в каталоге шаблонов:

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

Если будет реализовано, то проблем с идентификацией устройств не будет. 
Можно будет легко настраивать конфигурации и работу скриптов на разных устройствах.
Приглашаю проголосовать.

среда, 14 октября 2026 г. в 14:45:24 UTC+3, kara...@gmail.com:
android_config.jpg

karam mohammed 1

unread,
Oct 18, 2026, 3:31:00 AMOct 18
to mementodatabase

Thank you, mmm, for your work on this solution and for sharing the template!

This approach looks very useful. However, how would it handle different Android devices or Android versions? Since system().os may return the same value for both a phone and a tablet, would it be possible to identify each device separately and automatically select its corresponding configuration?

Thanks again for your help!

Mmm

unread,
Oct 18, 2026, 7:09:47 AMOct 18
to mementodatabase
Вариант решения до момента, когда будет реализовано предложение об имени устройства:

На каждом устройстве: 
1. Создать локальную библиотеку "device_info" с одним текстовым полем "device_id".
2. В библиотеке создать единственную запись с индивидуальным идентификатором устройства.

Пример библиотеки в каталоге шаблонов:

В основной библиотеке добавить разрешение для скриптов на доступ к библиотеке "device_info".

Скрипт для чтения идентификатора устройства (предоставить доступ к библиотеке):

let lb = libByName('device_info');
try {
  message( lb.lastEntry().name );
} catch (err) {
  message(' undefined ');
}

Если основная библиотека в облаке и ее используют разные пользователи, то каждый пользователь на своем устройстве:
1. Удаляет основную библиотеку со своего устройства, в том числе из корзины.
2. Устанавливает библиотеку "device_info".
3. Создаёт в ней единственную запись с определенным идентификатором устройства.
4. Повторно устанавливает из облака основную библиотеку с разрешением доступа к библиотеке "device_info".

воскресенье, 18 октября 2026 г. в 10:31:00 UTC+3, kara...@gmail.com:
access.png

karam mohammed 1

unread,
Oct 18, 2026, 9:24:39 AMOct 18
to mementodatabase

Thanks, Mmm, for your smart solution! It works great. I’ve also voted for the issue. Really appreciate your help!

karam mohammed 1

unread,
Oct 18, 2026, 9:44:51 AMOct 18
to mementodatabase

I tested both methods. device_info took an average of 590 ms, while direct configuration took 170 ms. Is there a way to make device detection faster? Thanks again for your clever solution!

Mmm

unread,
Oct 18, 2026, 11:52:58 AMOct 18
to mementodatabase
Я не знаю какой скрипт вы испытывали.
У меня значительных задержек нет.

Вариант, который объединяет оба способа: os и device.
Нужно включить один из общих скриптов:
– Configurations (Device),
– Configurations (OS).

Шаблон библиотеки в каталоге шаблонов:

Старый шаблон удален.

Предлагал разрешить обновление шаблона с сохранением ссылки:
Желающие могут проголосовать.

воскресенье, 18 октября 2026 г. в 16:44:51 UTC+3, kara...@gmail.com:
device_scripts.png

Mmm

unread,
Oct 18, 2026, 12:01:46 PMOct 18
to mementodatabase
Нашел ошибку, перезагрузил шаблон:
воскресенье, 18 октября 2026 г. в 18:52:58 UTC+3, Mmm:

karam mohammed 1

unread,
Oct 19, 2026, 6:46:09 AMOct 19
to mementodatabase

Your solution is brilliant and works perfectly! However, it takes almost 3 times longer than regular action ( not dependent on external lib). Is this normal, or could there be an issue on my side? Thanks again!

Screenshot_20261019_134206_Memento Database.jpg

Mmm

unread,
Oct 19, 2026, 10:40:56 AMOct 19
to mementodatabase
Для эксперимента добавил третий вариант.
Конфигурация хранится в библиотеке "device_info" в текстовом поле "config" в формате JSON.
Константа deviceConfig из общего скрипта удалена.

Время вызова с разными конфигурациями на скрине.
Получение данных из дополнительной библиотеки действительно увеличивает время выполнения.
Размещение конфигураций в скрипте или в поле в формате JSON на время не влияет.

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

Например, по образцу user():

    device();

Шаблон в каталоге шаблонов:

Старый шаблон удален.

понедельник, 19 октября 2026 г. в 13:46:09 UTC+3, kara...@gmail.com:
device.png
different_configs.png

Alex Sk

unread,
Oct 19, 2026, 11:33:10 AMOct 19
to mementodatabase
Try reading the device id from a text file. Based on my experience, it is 5 times faster than accessing the other library.
Something like the following:

let _file = file("DeviceID.txt");
if (_file.exists) {
_DeviceID = _file.readLine();
_file.close();
}
else {
message("File DeviceID.txt not found");
return false;
}

The script needs to be granted permission to read files in a specified folder.

Mmm

unread,
Oct 19, 2026, 11:44:24 AMOct 19
to mementodatabase
Встречный вопрос: как указать в одном скрипте путь к файлу конфигурации для различных версий приложения, различных устройств и операционных систем на устройствах?

понедельник, 19 октября 2026 г. в 18:33:10 UTC+3, kuo...@gmail.com:

Alex Sk

unread,
Oct 19, 2026, 12:41:57 PMOct 19
to mementodatabase
Permission is granted on each device, user selects a folder to be accessed (and which contains the file) in UI. No path in the script, only the file name, which means the script remains identical across all devices (a shared library script).

Mmm

unread,
Oct 19, 2026, 1:58:52 PMOct 19
to mementodatabase
Вариант с размещением конфигурации в файле.

На других устройствах не проверял.
Как настраивать доступ других пользователей к облачной библиотеке – не знаю.

Время лучше, чем с дополнительной библиотекой.
В любом случае победа будет за пользовательским именем устройства в настройках приложения (ориентируюсь на вариант с system().os).

Шаблон библиотеки в каталоге шаблонов:

Старый шаблон удален.

понедельник, 19 октября 2026 г. в 19:41:57 UTC+3, kuo...@gmail.com:
different_configs.png
file_config.png

karam mohammed 1

unread,
Oct 19, 2026, 7:12:03 PMOct 19
to mementodatabase

Thanks, Mmm and kuo.., for your help and suggestions! It’s working now. Despite It’s not as fast as the direct action, but it’s noticeably faster than using the external library (which is a very smart solution also) . I really appreciate your time and effort!

karam mohammed 1

unread,
Oct 19, 2026, 7:37:15 PMOct 19
to mementodatabase

I also tested system().os, as suggested by Mmm, and it works perfectly and as fast as direct action! It returns Android 14 on my phone and Android 13 on my tablet, allowing the script to treat them as different operating systems, which I didn't expect. No external library or config file is needed, although both also are  brilliant  alternatives (in case both phones are on same android versions ).

Mmm

unread,
Oct 20, 2026, 4:20:55 AMOct 20
to mementodatabase
Вариант с конфигурацией по полному значению system().os.
Если найдено несколько конфигураций с одинаковым значением device_os, то возвращается конфигурация по умолчанию для системы.

Шаблон библиотеки в каталоге шаблонов:

Старый шаблон удален.

вторник, 20 октября 2026 г. в 02:37:15 UTC+3, kara...@gmail.com:

karam mohammed 1

unread,
Oct 20, 2026, 6:52:22 PMOct 20
to mementodatabase
More than enough.  Thank you very much
Reply all
Reply to author
Forward
0 new messages