Перейти к содержанию
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 пользователей онлайн

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