Перейти к содержанию
  • Регистрация
Brovin Yaroslav

[FGX Native] Первое опубликованное приложение в Google Play Market

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

2 часа назад, Tumaso сказал:

Тоже хотелось бы попробовать библиотеку в деле, сравнить ее с Alcinoe по скорости работы в различных режимах.

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

Поделиться сообщением


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

и какая ценовая политика?

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

Цена лояльная, не высокая. Финальная стоимость будет зависеть от возможностей и классов приложений, которые можно разработать на ней. Цена будет объявлена ближе к релизу.

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

P.S. У меня нет первоочередной задачи заработать. Задача номер один для меня к которой я стремлюсь - это качественный продукт, который будет приносить выгоду для клиентов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
26 минут назад, Brovin Yaroslav сказал:

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

Да, хотелось посмотреть работу со списками. Еще интересует листание экранов, где на каждом экране картинка высотой на 1/3 экрана и под ней какой нибудь текст на оставшемся свободном месте.

Был бы очень благодарен 🙂

Поделиться сообщением


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

Да, хотелось посмотреть работу со списками. Еще интересует листание экранов, где на каждом экране картинка высотой на 1/3 экрана и под ней какой нибудь текст на оставшемся свободном месте.

Был бы очень благодарен 🙂

Постараюсь сегодня сделать вечером после работы.

Поделиться сообщением


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

Вывод данных из базы. Что-то вроде фейсбука или твиттера (визуально) или что-то вроде объявления или карточки товара. Разного рода данные: иконка, картинка, текст, цифры, кнопки + раскрасска какого-нибудь текста в зависимости от чего-то. Например, цена товара красная или зелёная в зависимости от поля количество.

Может быть можно что-то вроде карусели картинок в Инстаграм.

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

Поделиться сообщением


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

Вывод данных из базы. Что-то вроде фейсбука или твиттера (визуально) или что-то вроде объявления или карточки товара. Разного рода данные: иконка, картинка, текст, цифры, кнопки + раскрасска какого-нибудь текста в зависимости от чего-то. Например, цена товара красная или зелёная в зависимости от поля количество.

Может быть можно что-то вроде карусели картинок в Инстаграм.

У меня есть подобное приложение. Я его делал на презентации Москве. Там карточки ресторанов со слайдингом фотографий места. Сделаю.

2 минуты назад, x11 сказал:

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

На текущий момент пока такой возможности нет. Но в плане такая фича тулбара у меня есть. Это довольно штатное поведение в Андроиде. Поэтому его надо реализовать.

Поделиться сообщением


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

Вот старое видео. Могу собрать апк.

Поделиться сообщением


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

@Brovin Yaroslav

вот такое поведение и скорость, как на видео, лично мне и нужны.

Ждем, когда библиотека станет доступна для использования.

Поделиться сообщением


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

Судя по срокам поддержка С++ Builder ориентировочно конец августа?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 часов назад, Brovin Yaroslav сказал:

Вот старое видео. Могу собрать апк.

Можно выложить apk чтобы можно было протестировать в живую. И в списке сделайте хотя бы 200-300 записей с картинками. 

Поделиться сообщением


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

Демо проект с быстрым списком (его подготовил Андрей Зубов) FastSimpleList.apk

Screenshot_2019-04-29-22-48-57-704_ru.fgx.FastSimpleList[1].png

Поделиться сообщением


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

Вводная, 20 изображений в png 300x300 (примерно 2Мб в общем объеме apk)

500 элементов в списке

Маска скругляющая углы у аватарок накладывается в рантайме.

Поделиться сообщением


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

Вводная, 20 изображений в png 300x300 (примерно 2Мб в общем объеме apk)

500 элементов в списке

Маска скругляющая углы у аватарок накладывается в рантайме.

Все верно 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
11 часов назад, Brovin Yaroslav сказал:

Демо проект с быстрым списком (его подготовил Андрей Зубов) FastSimpleList.apk

ну вот, таким и должен был быть огнеобезьян изначально ) шустрым. А не 10 кадров в секунду. Хороший фреймворк. 

но я так понимаю на ios не будет работать, только на андроиде. 

Поделиться сообщением


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

Изначально да, но насколько я в курсе, Ярослав обещал поддержку iOS после того как будет доделана и выпущена версия под Андроид. Теоретически там будет проще так как все выпущенные компоненты для Андроида будут уже поддерживать все необходимые кейсы для разработки ПО и не надо будет сильно упираться в некий дополнительный функционал для iOS.

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

Поделиться сообщением


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

Изначально да, но насколько я в курсе, Ярослав обещал поддержку iOS после того как будет доделана и выпущена версия под Андроид. Теоретически там будет проще так как все выпущенные компоненты для Андроида будут уже поддерживать все необходимые кейсы для разработки ПО и не надо будет сильно упираться в некий дополнительный функционал для iOS.

Да, так и есть. Будет и iOS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, haword сказал:

таким и должен был быть огнеобезьян изначально )

поддержу!, эх, а сколько лет потеряно зря....

 

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

Поделиться сообщением


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

дайте ссылку чтобы проверить и как сложно будет перенести уже существующий проект?

Поделиться сообщением


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

дайте ссылку чтобы проверить и как сложно будет перенести уже существующий проект?

Ссылку на что?

 

Поделиться сообщением


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

Существующий проект скорее всего потребует приличной перерисовки форм для использования FGX.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, Гость WildFrag сказал:

Существующий проект скорее всего потребует приличной перерисовки форм для использования FGX.

Fgx вообще не использует библиотеки fmx. Так что, почти все с нуля. 

Поделиться сообщением


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

Если FGX не использует FMX, то, следовательно, в FGX нет возможности использовать что-то системное?

Например, есть ли в FGX возможность "добраться" до контактов?

Есть что-то вроде Toast?

Есть ли возможность работы со "шторкой", с панелью статуса?

Можно ли работать со службами, создать свою службу, например, службу для перехвата вх/исх звонков?

Или же можно создавать гибридные приложения, использующие FMX и FGX одновременно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, x11 сказал:

Если FGX не использует FMX, то, следовательно, в FGX нет возможности использовать что-то системное?

Можно использовать rtl со всеми компонентами, которые там есть. Плюс есть возможность использовать AndroidAPI, если очень нужно.

6 часов назад, x11 сказал:

Например, есть ли в FGX возможность "добраться" до контактов?

Это пока не реализовано. Но подобные сервисы будут реализованы по мере необходимости и запросов.

6 часов назад, x11 сказал:

Есть что-то вроде Toast?

Это есть и есть кроссплатформенная реализация. В самом FMX , кстати, ее нету.

6 часов назад, x11 сказал:

Есть ли возможность работы со "шторкой", с панелью статуса?

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

6 часов назад, x11 сказал:

Можно ли работать со службами, создать свою службу, например, службу для перехвата вх/исх звонков?

Службы еще не тестировались, но в первой версии можно будет использовать построение сервисов, на базе тех, что есть в rtl. Перехваты и прочее - это уже особенности системы Андроид.

6 часов назад, x11 сказал:

Или же можно создавать гибридные приложения, использующие FMX и FGX одновременно?

В теории такое возможно, если делать приложение с несколькими Activity. Но на практике не думаю ,что это будет удобно с учетом того, как это можно сделать.

Поделиться сообщением


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

Компонет TBeacon будет работать в FGX? Интересует работа интернет вещей. Спасибо.

 

Поделиться сообщением


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

Компонет TBeacon будет работать в FGX? Интересует работа интернет вещей. Спасибо.

 

Все невизуальные компоненты, которые не используют код FMX прекрасно работают.

Поделиться сообщением


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

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

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

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

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

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

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

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

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


  • Похожий контент

    • От Дмитрий Потапов
      Задался идеей написания IPTV приложения "для себя", в котором при желании смог бы реализовать что-то необходимое и удалить то, что не нужно.
      Собственно вопрос в другом: Я написал простое приложение, которое отлавливает коды кнопок с пульта, приложение по сути самое банальное, использует OnKeyDown и OnKeyUp (чисто для теста). И по нажатию на кнопку на пульте высылает например в Memo или ListBox Информацию о нажатой кнопке (включая ее код).
      Но суть в том, что далеко не все кнопки таким образом распознаются. Для примера:
      Кнопки громкости, назад, домой, увеличение\уменьшение громкости, стрелки(влево, вправо, вверх, вниз) и центральная кнопка (по совместительству OK).
      Цифры все определяются, как одна - 0
      Кнопки, которые не определяются (не срабатывает событие, ибо если был бы неизвестен код, то думаю, в таком случае получил бы все, кроме кода кнопки), но по нажатию кнопки, которая не определяется приложением - ничего не происходит вообще.
       
      Вопрос: Есть ли возможность как-то "научить" приложение распознавать эти кнопки? (Я где-то читал, может даже и здесь, что это все так реализовано именно на уровне самого FireMonkey, будто этих кнопок вообще не существует).
      Если эта тема уже поднималась на форуме или вопрос очень просто решается - извиняюсь)
      Решение: http://fire-monkey.ru/topic/5624-как-отловить-кнопки-пульта-ду/?do=findComment&comment=36399
       
    • От Татьяна
      Здравствуйте!
      Как можно из Android приложения узнать электронный адрес пользователя gmail (если он был настроен, конечно). Где-то же он сохраняется, если Google Play знает.
    • От msp888
      Всем привет! 
      У меня уже несколько лет работают приложения под Windows и под Andriod, в которых выполняется обмен данными по локальной сети по протоколу TCP-IP. Теперь вот мне понадобился прием multicast-пакетов по протоколу UDP. Под Windows всё работает замечательно, а вот под Android ничего принять не могу... 
      Подскажите чего не хватает, или дайте ссылку на пример, где уже реализовано подобное...
      Вот выдержки из кода:
      // переменные FSocket:TSocket; FiAR:IAsyncResult; FasyncWE:TMultiWaitEvent; data:TBytes; res:TWaitResult; WifiLock: JWifiManager_WifiLock; MulticastLock: JWifiManager_MulticastLock; ... // регистрация в группе procedure AddMemberShip(MultiAddr, InterfaceAddr:Cardinal); var Mreq:ip_mreq; begin fillchar(Mreq, SizeOf(Mreq), 0); move(MultiAddr, Mreq.IMR_MultiAddr.S_addr, SizeOf(Mreq.IMR_MultiAddr.S_addr)); move(InterfaceAddr, Mreq.IMR_Interface.S_addr, SizeOf(Mreq.IMR_Interface.S_addr)); CheckSocketResult(setsocketoption(FSocket.Handle, IPPROTO_IP, IP_ADD_MEMBERSHIP, Mreq, SizeOf(Mreq)), 'setsockopt:IP_ADD_MEMBERSHIP'); end; ... // permission... ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION ACCESS_NETWORK_STATE ACCESS_WIFI_STATE CHANGE_CONFIGURATION CHANGE_NETWORK_STATE CHANGE_WIFI_MULTICAST_STATE CHANGE_WIFI_STATE INTERNET READ_CALENDAR READ_EXTERNAL_STORAGE WRITE_CALENDAR WRITE_EXTERNAL_STORAGE WAKE_LOCK ... // настройка wi-fi WifiLock.acquire; MulticastLock.acquire; ... // создание и настройка сокета FSocket:=TSocket.Create(TSocketType.UDP); FSocket.Bind(TNetEndpoint.Create(ServerIP, ServerPort)); AddMemberShip(TIPAddress.Create(239, 78, 1, 1).Addr.S_addr, ServerIP.Addr.S_addr); AddMemberShip(TIPAddress.Create(239, 78, 1, 2).Addr.S_addr, ServerIP.Addr.S_addr); AddMemberShip(TIPAddress.Create(239, 78, 1, 78).Addr.S_addr, ServerIP.Addr.S_addr); ... // Прием данных в потоке... FiAR:=FSocket.BeginReceiveFrom; FasyncWE:=FiAR.AsyncWaitEvent; res:=FasyncWE.WaitFor; if res = wrSignaled then data:=FSocket.EndReceiveBytesFrom(FiAR); // Прием  
    • От Yarpda
      В серьезных приложениях (Сбербанк-онлайн или Ютюб и т.п.) когда выходят обновления с новыми функциими, они запускают своеобразный интерактивный ролик. Когда экран затемняется и остается не затемненным только новый элемент экрана например, а на затемненном фоне описывается что делает этот новый элемент.Потом все это плавно переходит к другому элементу и т.д. Выглядит все довольно красиво.
      Задался вопросом, как сделать что-то подобное под FMX. Для себя не нахожу никаких очевидных решений.
      Подскажите если кто знает, направления решения этой задачи?
      Заранее спасибо.
    • От RADStudioDeveloper
      Привет всем!
      Есть необходимость в проекте для Android Delphi FMX (RAD Studio 10.2.3 Tokyo / RAD Studio 10.3.1 Rio ) сохранять изображения с фотокамеры смартфона Android через WiFi соединение в удалённую базу данных Microsoft SQL сервера в поле BLOB.
       
      Подскажите, пожалуйста,  возможные решения, примеры Delphi кода и требуемые компоненты для работы с камерой и SQL сервером через WiFi на Android устройствах.
    • От Евгений Корепов
      Простое приложение для андроид - форма, на ней TWebBrowser. В WebBrowser открываем что то требующее разрешение на геолокацию. У примеру https://www.openstreetmap.org 
      В обычном браузере, при тыке на "Показать мое местоположение" появится popup окно с запросом разрешения на "Доступ к данным о вашем местоположении".
      Но в Delphi приложении описанном выше никакого запроса не приходит. ?
      Нашел решение для java https://forums.fusetools.com/t/geolocation-not-enabled-in-webview-on-android/1374 
      В функцию создания WebView 
      public static Object CreateWebView321(final boolean zoomEnabled,final boolean scrollEnabled) { ScrollableWebView wv = new ScrollableWebView(com.fuse.Activity.getRootActivity()); wv.getSettings().setJavaScriptEnabled(true); wv.getSettings().setUseWideViewPort(true); //enabled viewport meta tag wv.getSettings().setLoadWithOverviewMode(true); //mimic iOS Safari and Android Chrome wv.getSettings().setSupportZoom(zoomEnabled); wv.getSettings().setBuiltInZoomControls(zoomEnabled); wv.getSettings().setDomStorageEnabled(true); wv.setAllowScroll(scrollEnabled); return wv; } рекомендуется добавить следующий код
      wv.getSettings().setGeolocationEnabled(true); wv.setWebChromeClient(new WebChromeClient(){ @Override public void onGeolocationPermissionsShowPrompt(String origin, Callback callback) { callback.invoke(origin, true, false); } }); В модуле FMX.WebBrowser.Android.pas это выглядит так
      constructor TAndroidWebBrowserService.Create; var LayoutParams: JRelativeLayout_LayoutParams; begin FWebView := TJWebBrowser.JavaClass.init(TAndroidHelper.Activity); FWebView.getSettings.setJavaScriptEnabled(True); FListener := TWebBrowserListener.Create(Self); FWebView.SetWebViewListener(FListener); FFocusChangeListener := TFocusChangeListener.Create(Self); FWebView.setOnFocusChangeListener(FFocusChangeListener); FWebView.getSettings.setGeolocationEnabled(True); FWebView.getSettings.setAppCacheEnabled(True); FWebView.getSettings.setDatabaseEnabled(True); FWebView.getSettings.setDomStorageEnabled(True); FWebView.getSettings.setBuiltInZoomControls(True); FWebView.getSettings.setDisplayZoomControls(False); FWebViewContainer := TJRelativeLayout.JavaClass.init(TAndroidHelper.Context); FChildrenContainer := TJRelativeLayout.JavaClass.init(TAndroidHelper.Context); LayoutParams := TJRelativeLayout_LayoutParams.JavaClass.init(TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT, TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT); FWebViewContainer.addView(FWebView, LayoutParams); LayoutParams := TJRelativeLayout_LayoutParams.JavaClass.init(TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT, TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT); FWebViewContainer.addView(FChildrenContainer, LayoutParams); SetEnableCaching(True); end; Вот суть вопроса - добавить delphi код. Пробую что то вот такое, но закончить ума не хватает
      constructor TAndroidWebBrowserService.Create; var LayoutParams: JRelativeLayout_LayoutParams; begin FWebView := TJWebBrowser.JavaClass.init(TAndroidHelper.Activity); FWebView.getSettings.setJavaScriptEnabled(True); FListener := TWebBrowserListener.Create(Self); FWebView.SetWebViewListener(FListener); FFocusChangeListener := TFocusChangeListener.Create(Self); FWebView.setOnFocusChangeListener(FFocusChangeListener); FWebView.getSettings.setGeolocationEnabled(True); FWebView.setWebChromeClient( TJWebChromeClient.Create.onGeolocationPermissionsShowPrompt( origin: JString; callback: JGeolocationPermissions_Callback);..... FWebView.getSettings.setAppCacheEnabled(True); FWebView.getSettings.setDatabaseEnabled(True); FWebView.getSettings.setDomStorageEnabled(True); FWebView.getSettings.setBuiltInZoomControls(True); FWebView.getSettings.setDisplayZoomControls(False); FWebViewContainer := TJRelativeLayout.JavaClass.init(TAndroidHelper.Context); FChildrenContainer := TJRelativeLayout.JavaClass.init(TAndroidHelper.Context); LayoutParams := TJRelativeLayout_LayoutParams.JavaClass.init(TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT, TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT); FWebViewContainer.addView(FWebView, LayoutParams); LayoutParams := TJRelativeLayout_LayoutParams.JavaClass.init(TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT, TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT); FWebViewContainer.addView(FChildrenContainer, LayoutParams); SetEnableCaching(True); end;  
    • От brunnengi
      Здравствуйте.
      Как отключить клавиатуру, что бы она не вылетала при получении фокуса в полях ввода?
    • От Mohamed BEN AMMAR
      hello 
      i'm using delphi fmx for building android App
      i have this code for Activating The WI-FI icon from android device:
      This could be found here .
      =========== code ==================
      uses
        Androidapi.Helpers,
        Androidapi.JNI.JavaTypes,
        Androidapi.JNI.GraphicsContentViewText,
        Androidapi.JNIBridge,
        Androidapi.JNI.WifiManager;
        procedure SetWifiEnabled (AEnable: Boolean); var   Obj: JObject;   WifiManager: JWifiManager; begin   Obj: = SharedActivityContext.getSystemService (TJContext.JavaClass.WIFI_SERVICE);   if Obj = nil then     Exit;     WifiManager: = TJWifiManager.Wrap ((Obj as ILocalObject) .GetObjectID);   WifiManager.setWifiEnabled (AEnable); end; 
       
       My question is About Activating Android location:
        Is it possible to activate the service location icon from android device
       programatically without using the Location or TLocationSensor component ....?
      however I know exactly that google has been Deactivate this API since android "4" just for security reasons .....
      but i have seen many apps in playstore can activate the service without using 
      this code here ask the user for activate the location manually .... procedure TForm1.GPSSettings; {$IFDEF ANDROID} var Intent: JIntent; {$ENDIF} begin {$IFDEF ANDROID} Intent := TJIntent.Create; Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_LOCATION_SOURCE_SETTINGS); TAndroidHelper.Activity.startActivity(Intent); {$ENDIF} end; in other versions like lolipopup can show just the Allow Permission system dialog timer ....( Asking the user for Allowing this App to Activate the service location ......) 
      I have an android device with lolipopup version and i try to execute the location EMBARCADERO sample but 
      this one can not activate the service location ICON even  my device show me the Allow permission dialog where i choose yes allow
      with never ASK....
      Finally ,  I like the WI-FI code above .....
      and i'm wondering if someone here can do this task for me (i need a unit as the WI-FI code above which can offer me
      the option to activate the Service Location ICON )
      I'm ready to paid for that task .....
       
      Sincerelly: Brave.
    • От GMX
      Android 6 MIUI
       ни стандартные примеры не работают, ни попытки что-то свое создать... 
      LastDiscoveredDevices - всегда 0, хотя из настроек устройства находятся. 
      unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Bluetooth, System.Bluetooth.Components, FMX.Controls.Presentation, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; Bluetooth1: TBluetooth; Label1: TLabel; AniIndicator1: TAniIndicator; procedure Button1Click(Sender: TObject); procedure Bluetooth1DiscoverableEnd(const Sender: TObject); procedure Bluetooth1DiscoveryEnd(const Sender: TObject; const ADeviceList: TBluetoothDeviceList); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Bluetooth1DiscoverableEnd(const Sender: TObject); begin Label1.Text := IntToStr(Bluetooth1.LastDiscoveredDevices.Count); end; procedure TForm1.Bluetooth1DiscoveryEnd(const Sender: TObject; const ADeviceList: TBluetoothDeviceList); begin Label1.Text := IntToStr(ADeviceList.Count); AniIndicator1.Enabled :=False; end; procedure TForm1.Button1Click(Sender: TObject); begin Bluetooth1.DiscoverDevices(10000); AniIndicator1.Enabled :=True; end; procedure TForm1.FormCreate(Sender: TObject); begin while not Bluetooth1.Enabled do Bluetooth1.Enabled := True; end; end. В разрешениях bluetooth, bluetooth admin, coarse location, fine location включены... 
    • От Barbanel
      Всем привет!
      Поясните мне плиз, такую вещь как TTouchAnimation, на примере Android.
      Как я это понимаю:
      Есть к примеру некая кнопка, которая имеет несколько состояний, из которых важны: не нажатая и нажатая.
      В момент нажатия, TTouchAnimation пускает расходящийся круг, причем четко из центра нажатия.
      Ок, пусть на самом деле не круг, а картинку, указанную в... собсно, где???
      Как задать эту область, которая должна отображаться как реакция на нажатие?В редакторе среды, у объектов TButtonStyleObject есть свойство TouchAnimation: (TTouchAnimationAdapter), у которого в свою очередь есть свойство Link: (TBitmapLinks), которое как я считал и отвечает за эту область.
      Однако, при клике на это поле ничего не происходит.
      Баг среды, или моя удача???
      Как вы с этим боретесь?
      Других полей, где могли бы быть эти координаты я не нахожу.
      Заранее спасибо!

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

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

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