-
Постов
2 517 -
Зарегистрирован
-
Посещение
-
Победитель дней
265
Весь контент Равиль Зарипов (ZuBy)
-
Да, это легко реализовать. Проблема заключается в следующем: привязка к платформе, когда касается кастомного шрифта, все рушится. Поэтому я и предложил кроссплатформенное решение
-
Эм, TListBox/TListView
-
приложение запускается и всё, ничего нажать невозможно
- 30 ответов
-
- broadcastreceiver
- timer
-
(и ещё 2 )
C тегом:
-
ну что я могу сказать, все висит. ничего не могу сделать android 6.0.1
- 30 ответов
-
- broadcastreceiver
- timer
-
(и ещё 2 )
C тегом:
-
В два цикла или цикл + findcomponent И если задать имя радиобаттонам будет быстрее
-
вот батник на исполнение с генерацией classes.dex (в идеале) @echo off setlocal if x%ANDROID_SDK% == x set ANDROID_SDK="C:\Users\Public\Documents\Embarcadero\Studio\17.0\PlatformSDKs\android-sdk-windows" if x%JAVA% == x set JAVA="C:\Program Files\Java\jdk1.8.0_66\bin" set ANDROID_PLATFORM=%ANDROID_SDK%\platforms\android-23 set DX_LIB=%ANDROID_SDK%\build-tools\23.0.3\lib set EMBO_DEX="C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\release\classes.dex" set FMX_JAR="C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\release\fmx.jar" set PROJ_DIR=%CD% set VERBOSE=0 echo. echo COPY ORIGINAL fmx.jar copy %FMX_JAR% %PROJ_DIR%\fmx.jar" echo. echo UPDATE FILE NotificationPublisher.class %JAVA%\jar uf "fmx.jar" "com.embarcadero\rtl\notifications\NotificationPublisher.class" echo. echo CONVERTING FROM jar TO dex mkdir output\dex 2> nul if x%VERBOSE% == x1 SET VERBOSE_FLAG=--verbose call %DX_LIB%\dx.jar --dex %VERBOSE_FLAG% --output=%PROJ_DIR%\output\dex\test_classes.dex --positions=lines %PROJ_DIR%\fmx.jar echo. echo MERGING dex FILES echo.com.android.dx.merge.DexMerger java -cp %DX_LIB%\dx.jar com.android.dx.merge.DexMerger %PROJ_DIR%\output\dex\classes.dex %PROJ_DIR%\output\dex\test_classes.dex %EMBO_DEX% echo. del output\dex\test_classes.dex del output\jar\test_classes.jar rmdir output\jar echo. echo Now we have the end result, which is output\dex\classes.dex :Exit endlocal распаковать архив проверить пути к java, android sdk, delphi что не работает: обновление JAR файла (с оригинальным fmx.jar все генерируется) directory.rar
- 53 ответа
-
- notifications
- gcm
- (и ещё 5 )
-
java файл NotificationPublisher(java).rar class файл NotificationPublisher(class).rar fmx.jar файл переименован в rar fmx.jar.rar откомпилил файл вот так cls&javac -d "c:\users\ZuBy" "NotificationPublisher.java" -cp "android-19.jar";"android-support-v4.jar" потом просто заменил в jar архиве файл NotificationPublisher.class на новый (незнаю, правильно или нет) так делать не правильно, пробовал такой командой (источник) cls&jar uf fmx.jar "com.embarcadero\rtl\notifications\NotificationPublisher.class" ошибок не выдаёт, но файл имеет не правильную иерархию а вот так должно быть уже незнаю что делать
- 53 ответа
-
- notifications
- gcm
- (и ещё 5 )
-
Не думаю что такое есть, но даже если есть это из Делфи не доступно. Обычно это опция клавиатуры
-
Ну такого вы не добьетесь. Если приложение висит в менеджере задач, не значит что оно работает в фоне. Там ведь карточки запущенных недавно приложении. Это можно отключить, но толку не будет. А почему при закрытии не стартовать сервис?
- 7 ответов
-
- приложение
- уничтожение
-
(и ещё 3 )
C тегом:
-
обновленная версия StatusBarColor_update.zip
-
в обоих случаях?
-
function hasNavbar: Boolean; // uses Androidapi.JNI.Util, {$IFDEF ANDROID} var Window: JWindowExt; realSize: JPoint; screenSize: JPoint; metrics: JDisplayMetrics; difference, navBarHeight, resourceID: Integer; {$ENDIF} begin Result := false; {$IFDEF ANDROID} metrics := TJDisplayMetrics.Create; realSize := TJPoint.Create; screenSize := TJPoint.Create; Window := GetWindowExt; Window.getWindowManager.getDefaultDisplay.getRealMetrics(metrics); realSize.x := metrics.widthPixels; realSize.y := metrics.heightPixels; Window.getWindowManager.getDefaultDisplay.getSize(screenSize); if realSize.x <> screenSize.y then begin difference := realSize.y - screenSize.y; resourceID := TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('navigation_bar_height'), StringToJString('dimen'), StringToJString('android')); if resourceID > 0 then navBarHeight := Trunc(TAndroidHelper.Activity.getResources.getDimensionPixelSize(resourceID)); if navBarHeight > 0 then Result := difference = navBarHeight; end; {$ENDIF} end; вот проверьте
-
я хотел вытащить вот это значение boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();
-
есть еще один вариант (но не нашел его в интерфейсах, не объявлен) for api 14 and up boolean PermanentMenuKey = ViewConfiguration.get(this).hasPermanentMenuKey(); // true if physical, false if virtual for lower api: boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME); if (hasBackKey && hasHomeKey) { // no navigation bar, unless it is enabled in the settings } else { // 99% sure there's a navigation bar } источник укороченный вариант описание boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey(); boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); if(!hasMenuKey && !hasBackKey) { // Do whatever you need to do, this device has a navigation bar } источник
-
17956962
-
мне кажется я знаю в чем проблема, но пока решения не нашел. есть два пути установки флагов Window.addFlags и Window.setFlags и они по разному работают, проверьте на андроид 5.1 вариант с Window.addFlags
-
да проверил на своём Nexus'e - работает resourceID := TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('config_showNavigationBar'), StringToJString('bool'), StringToJString('android')); if (resourceID > 0) and (TAndroidHelper.Activity.getResources.getBoolean(resourceID)) then begin resourceID := TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('navigation_bar_height'), StringToJString('dimen'), StringToJString('android')); if resourceID > 0 then NavigationBar := Trunc(TAndroidHelper.Activity.getResources.getDimensionPixelSize(resourceID) / sScale); end;
-
что за девайс? корректно (ведет себя так как ожидается) на девайсах: 6.0 - Nexus 5, HTC M8, Samsung S5 5.0 - Nexus 7 5.0.1 - Nexus 9, LG Leon 5.1.1 - Samsung J7
-
хорошо, теперь все видит но ошибки остаются cls&javac -source 1.7 -target 1.7 "E:\fmx\com\embarcadero\rtl\notifications\NotificationPublisher.java" -cp "C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\release\android-19.jar";"C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\release\android-support-v4.jar" -d "e:\fmx" ошибки вот теперь я ничего не понимаю: библиотеки видит - все отлично код не трогал, добавил только одну строку почему ошибки выходят?
- 53 ответа
-
- notifications
- gcm
- (и ещё 5 )
-
решим откомпилировать только один файл, который изменял javac -source 1.7 -target 1.7 "E:\fmx\com\embarcadero\rtl\notifications\NotificationPublisher.java" -cp "C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\android\release\android-19.jar" -d "e:\fmx" ошибки import android.support.v4.app.NotificationCompat.Builder; из библиотеки android-support-v4.jar он не может найти класс который хранится в другой библиотеке, но как две библиотеки указать, чтобы он компилил и с android-19.jar и android-support-v4.jar
- 53 ответа
-
- notifications
- gcm
- (и ещё 5 )
-
у скайпа есть такие штуки [android] https://msdn.microsoft.com/en-us/library/office/dn745884.aspx [ios] https://msdn.microsoft.com/en-us/library/office/dn745885.aspx
-
такие подойдут? Application.Terminate; SharedActivity.finish;
- 7 ответов
-
- приложение
- уничтожение
-
(и ещё 3 )
C тегом:
-
там не сколько jar, а нужно все java файлы откомпилировать. как это сделать?
- 53 ответа
-
- notifications
- gcm
- (и ещё 5 )
-
ну мне жалко отдавать деньги за ваши компоненты, они прекрасны конечно. Но пока можно и без них справиться
-
Если Button это TButton, проблемы возникнут во первых со стилями, если ерзать вверх вниз( освобождать и загружать) стили, то очень скоро память на девайсе закончится. О чем выше я писал. Во вторых динамическая загрузка картинок (которую я хотел) не получилось у меня реализовать.