-
Постов
851 -
Зарегистрирован
-
Победитель дней
129
Весь контент Andrey Efimov
-
Пересчёт? Ну так и делайте его там, где вам это необходимо. Мне не очень понятна задача... Если спроектировать интерфейс на TLayout'ах, то компоненты на панели, будут сами изменять размер, положение в зависимости от размера родителя (TPanel или другого компонента или TFrame и т.п.). Если вы об этом конечно... Mobile Tutorial: Using Layout to Adjust Different Form Sizes or Orientations (iOS and Android) FireMonkey Layouts Strategies Tutorial: Using FireMonkey Layouts
-
Получится один classes.dex. Такой задачи у меня ещё не было, поэтому только теория: Варианты: 1) Пишем два класса, наследника от BroadcastReceiver. Прописываем в манифесте, один будет реагировать на перезагрузку, другой на время. По очереди, клеим к основному файлу classes.dex от приложения. Т.е. приклеили 1 раз, у нас получился 1 classes.dex, далее клеим к нему след. класс. 2) Пишем один класс, который будет отрабатывать за два. Суть в том, чтобы отслеживать Action внутри OnReceive. Клеим его, а вот генерация интента уже будет отличаться. Это в теории .
-
А вот ещё, проверьте, файл classes.dex от приложения вы сгенерили? А то он у вас пишет, что не может найти его... Да, там с версиями косяк какой-то, уже далеко не первый раз пишут мне с такой проблемой, но пока всем помогало добавление строки "-source 1.7 -target 1.7". Причём ошибки у всех разные, но эта магическая строчка спасает
-
1) Откройте bat файл 2) найдите строку, которая начинается на "javac" (примерно 19) если файл из статьи, то выглядит вот так: javac %VERBOSE_FLAG% -Xlint:deprecation и т.д. замените на javac -source 1.7 -target 1.7 %VERBOSE_FLAG% -Xlint:deprecation Если не получится, то замените цифры на 1.6. (т.е. вам надо добавить -source 1.7 -target 1.7 сразу после javac) 3) Отпишитесь о результате.
-
В далёком 2013 переводил эту заметку, читать тут: Создание выпадающего меню в приложении на Android
-
if Ord(KeyChar) = vkSpace then Memo1.Lines.Add('Пробел') или if KeyChar = ' ' then Memo1.Lines.Add('Пробел') Проверил на всякий случай, работает отлично.
-
Правило: Обращение к любому визуальному компоненту в потоке только через TThread.Synchronize
-
Спасибо, Ярослав уже знает о проблеме.
-
Не работает с вибрацией
- 6 ответов
-
- отключить звук
- отключить вибрацию
- (и ещё 1 )
-
Повторяю, пользуйтесь поиском и вообще смотрите соседние темы в разделе, перед тем как задать вопрос. Все начальные вопросы уже обсуждались. Поиск -> "не меняется высота" -> результат - ничего сложного... [TEdit] [Android] Можно ли изменить высоту TEdit?
-
-
Если грубо, то примерно вот так: uses Androidapi.JNI.App, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os, Androidapi.JNIBridge; function IntArrayToJArray(const OrigArray: array of Integer): TJavaArray<Integer>; var I: Integer; begin Result := TJavaArray<Integer>.Create(Length(OrigArray)); for I := Low(OrigArray) to High(OrigArray) do Result.Items[I] := OrigArray[I]; end; procedure TForm3.Button1Click(Sender: TObject); var ActivityManager: JActivityManager; List: JList; Iterator: JIterator; Process: JActivityManager_RunningAppProcessInfo; ArrayMemoryInfo: TJavaObjectArray<JDebug_MemoryInfo>; begin ActivityManager := TJActivityManager.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE)); List := ActivityManager.getRunningAppProcesses; Iterator := List.iterator; while Iterator.hasNext do begin Process := TJActivityManager_RunningAppProcessInfo.Wrap(Iterator.next); ArrayMemoryInfo := ActivityManager.getProcessMemoryInfo(IntArrayToJArray([Process.pid])); Memo1.Lines.Add(JStringToString(Process.processName) + ' ' + ArrayMemoryInfo[0].getTotalSharedDirty.ToString); end; end; Повторюсь, это грубый, но рабочий пример. Рекомендуется доработать его перед использованием в рабочем проекте!
-
Да, не спорю. Пару версий назад, данный поиск у меня глючил и я окончательно вернулся на Total Commander (он меня ещё ни разу не подводил )
-
GetActivityManager - что это? такого в АПИ нет... Может вы имели ввиду ActivityManager -> getRunningAppProcesses() ? Если так, то вам необходимо подключить файл Androidapi.JNI.App.pas. Чтобы быстро найти файл, в котором реализован интерфейс/класс/метод из АПИ, можно воспользоваться любой утилитой позволяющей искать текст в файлах. Это может быть FAR, Total Commander и др. (я использую Total Commander)
-
Утилита написана на JAVA, т.к. у вас уже установлен JRE, то просто скачиваете и запускаете. Более подробно про утилиту можно почитать по ссылке из статьи Улучшенный 9-patch редактор
-
android-** (** - версия АПИ, чем выше цифра, тем больше нового поддерживает обёртка. Обратная совместимость поддерживается.) Выбираете файл по АПИ под которое пишите. По вашему примеру: JList уже определён в файле "Androidapi.JNI.JavaTypes.pas", т.е. нет необходимости подключать стороннюю обёртку. Указываете в uses Androidapi.JNI.JavaTypes и работаете с JList. p.s. Обёртки, которые вы скачали, необходимо проверять, т.к. многие из них сгенерены с ошибками.
-
Вот так подготовили Как добавить "резиновый" SplashScreen в XE7 ? p.s. Старайтесь прикладывать проекты к темам, так будет проще вам помочь.
-
Ну, если не хотите попробовать мою демку и посмотреть класс, то давайте изменю ваш код: procedure Vibr; //Процедура вибрации var Vibrator: JVibrator; begin Vibrator := TJVibrator.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE)); if Vibrator.hasVibrator() then Vibrator.vibrate(2000); end; доступ к сервису вибрации нужно получать у Context'a. Если всё равно падает, то смотрите логи, через monitor.bat (находится примерно тут: C:\Android\sdk\tools, у вас путь до sdk может быть другим).
-
Права дали точно? Вот вам мой класс для работы с вибрацией, там есть код проверки прав - https://github.com/AndrewEfimov/Android-API/blob/master/Vibrator/class/Vibrator.Android.pas (https://github.com/AndrewEfimov/Android-API/tree/master/Vibrator, класс и тестовое приложение) либо посмотрите в настройках приложения, раздел с правами.