Перейти к содержанию
Fire Monkey от А до Я
  • 0

Проблема в работоспособности приложения под андроид


sviat9440

Вопрос

Опубликовано (изменено)

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

 

И еще я делаю высоту полей ввода в 40пх. Почему при сборке под андроид она становится 32пх хоть ты тресни? :D

 

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

P.S. Версия SDK: 22

Lotus.7z

Изменено пользователем sviat

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

  • 1
Опубликовано (изменено)

В первом случае посмотрите, чтобы "кликабильные" компоненты располагались на компоненте, имеющем свойства HitTest = True.

А во втором случае (о высоте). Тут, мне кажется, - это высота по дефолту!

Копать в этом направлении:

unit FMX.Edit;

function TCustomEdit.GetDefaultSize: TSizeF;
var
  DefMetricsSrv: IFMXDefaultMetricsService;
begin
  if SupportsPlatformService(IFMXDefaultMetricsService, IInterface(DefMetricsSrv)) and DefMetricsSrv.SupportsDefaultSize(TComponentKind.Edit) then
    Result := TSizeF.Create(DefMetricsSrv.GetDefaultSize(TComponentKind.Edit).Width, DefMetricsSrv.GetDefaultSize(TComponentKind.Edit).Height)
  else
    Result := TSizeF.Create(100, 22);
end;

Хотя, терзают меня смутные сомнения, что это где-то в стилях "собака зарыта"...

И ведь главное - делал как-то! Но, блин, не помню уже как...

Изменено пользователем AlexG
  • 0
  • Модераторы
Опубликовано
5 часов назад, sviat сказал:

И еще я делаю высоту полей ввода в 40пх. Почему при сборке под андроид она становится 32пх хоть ты тресни? :D

 

  • 1
  • Модераторы
Опубликовано
54 минуты назад, AlexG сказал:

Хотя, терзают меня смутные сомнения, что это где-то в стилях "собака зарыта"...

В стиле у некоторых компонентов есть FixedHeight

  • 0
Опубликовано (изменено)
10 часов назад, AlexG сказал:

В первом случае посмотрите, чтобы "кликабильные" компоненты располагались на компоненте, имеющем свойства HitTest = True.

проверил, у всех компонентов и их родителей hittest = true. продолжаю эксперименты со стилями.

Изменено пользователем sviat
  • 1
Опубликовано (изменено)
17 часов назад, sviat сказал:

на андроиде, складывается впечатление что я тыкаю в картинку.

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

Изменено пользователем Rusland
  • 0
Опубликовано
3 часа назад, Rusland сказал:

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

Я ж вроде прикрепил архив, не? Там отомпилированное приложение под винду и андроид, в винде тыкается, на ведре нет

  • 0
Опубликовано (изменено)
В 06.10.2016 в 16:10, Rusland сказал:

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

угу, вижу. поверх остается прозрачный ректангл. Только вопрос: ему в коде прописано быть скрытыми (visible=false)(раз) и уничтоженным (free)(два), щас проверю выполняется ли этот кусок кода на андроиде.

Изменено пользователем sviat
  • 0
Опубликовано

Все, вроде все решилось: ректанглу метод free не уничтожает на ведре, использовал destroy. На 10.1 Берлин высота полей ввода нормальная (такая, какую я задал)

  • 0
  • Модераторы
Опубликовано
16 часов назад, sviat сказал:

угу, вижу. поверх остается прозрачный ректангл. Только вопрос: ему в коде прописано быть скрытыми (visible=false)(раз) и уничтоженным (free)(два), щас проверю выполняется ли этот кусок кода на андроиде.

еще нужно отвязывать от парента при удалении компонентов

  • 0
  • Модераторы
Опубликовано
Только что, sviat сказал:

Зачем? как? и чем это грозит?

Rectangle1.Parent := nil;
FreeAndNil(Rectangle1);

чтобы пустая ссылка у родителя не висела

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...