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

Лидеры

  1. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      4

    • Постов

      2 517


  2. ENERGY

    ENERGY

    Пользователи


    • Баллы

      3

    • Постов

      568


  3. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      1

    • Постов

      2 124


  4. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      1

    • Постов

      842


Популярный контент

Показан контент с высокой репутацией 22.06.2017 во всех областях

  1. если это основное действие в приложении, то в андроиде принято делать Floating Action Button (гугл в помощь) есть компоненты которые правильно рисуют фигуры (без лесенок и зазубрин), поверх компонента положить картинку или пиктограмму и будет стильно, современно, молодежно
    3 балла
  2. честно не совсем понял о чем речь. директивы стандартные можно найти в справке ембы http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Conditional_compilation_(Delphi) http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Delphi_Compiler_Directives_(List)_Index ну и так далее
    1 балл
  3. ENERGY

    [Андроид] кнопка с эффектом

    Добавить в кнопку TGlowEffect . Также здесь я описал как сделать пульсирующую кнопку без кода.
    1 балл
  4. Можно просто сделать текст "Новости" жирным и кнопка будет выделяться из кучи других. Или добавить какой-нибудь лёгкий эффект подсветки к тексту. p.s. Например, меня очень раздражают откровенно навязчивые элементы, типа анимации(дёргания и т.п.) или мигания... бррр...
    1 балл
  5. krapotkin

    [Андроид] кнопка с эффектом

    можно подергать ее время от времени из стороны в сторону обычный TAnimation на Position.X поиграться с InterpolateType itElastic
    1 балл
  6. Кто просил PHP код, для отправки пушей, без лимита на 1000 токенов за одну отправку. Вот готовый вариант: <?php $server_key = 'AAAAnCw-yKA:APA91bEYphFbq_w...'; $title = 'Title'; $text = 'test'; $limit = 999; $field_name = 'DeviceToken'; $sql = mysqli_connect("mysqlserver.com", "DBName", "DBPassword"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $offset = 0; while (true) { $query = "SELECT $field_name FROM `DBName`.`TableName` LIMIT $limit OFFSET $offset"; $result = mysqli_query($sql, $query); if (!$result) { die('Invalid query: ' . mysql_error()); } if (mysqli_num_rows($result) == 0) { echo "{\"result\":true}"; exit; } $arr = array(); while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) { $arr[] = $row["$field_name"]; } pushSend($title, $text, $arr, $server_key); $offset = $offset + $limit; /* free result set */ mysqli_free_result($result); // foreach($arr as $item) { // echo $item, '<br>'; //} //echo '-----------<br>'; } mysqli_close($sql); // max 1000 function pushSend($title, $text, $tokens, $server_key) { $url = 'https://fcm.googleapis.com/fcm/send'; $headers = array('Authorization: key=' . $server_key, 'Content-Type: application/json'); if (is_array($tokens)) $fields['registration_ids'] = $tokens; else $fields['registration_ids'] = array($tokens); $fields['priority'] = 'high'; $fields['notification'] = array('body' => $text, 'title' => $title); $fields['data'] = array('message' => $text, 'title' => $title); $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_POSTFIELDS => json_encode($fields) )); $result = curl_exec($ch); curl_close($ch); return $result; } ?>
    1 балл
  7. Чтобы помигать кнопкой или любым другим контролом, для привлечения внимания я делаю так: Добавить на кнопку TGlowEffect, установить нужный цвет. Внутрь TGlowEffect добавляю TFloatAnimation . В нем выбираю PropertyName = Opacity. Дальше устанавливаю Start и Stop 0 и 1. AutoReverse := true; Loop := true; Duration (0.3) Все. В коде включаем : GlowEffect.Enable := true и FloatAnimation.Enable := true - заставит пульсировать кнопку. Например так: procedure TfrmMain.PulseEMRGButton; begin GlowBtnEMRGNum.Enabled := true; animGlowBtn.Enabled := true; TThread.CreateAnonymousThread(procedure begin Sleep(1250); // general duration TThread.Queue(nil, procedure begin animGlowBtn.Enabled := false; GlowBtnEMRGNum.Enabled := false; end); end).Start; end; Ксати Major переименуйте тему в "Пульсирующая кнопка".
    1 балл
  8. Если говорить о размере приложения. То первоначально нужно понять, что входить в состав пакета? Затем определить, что нужно и не нужно? Давайте посмотрим на примере состав пакета небольшого Андроида приложения, написанного в RAD Studio XE5 Delphi. В качестве примера, я взял приложение PhotoEditorDemo, доступный на официальном Open Source проекте примеров RAD Studio XE5 Это пример кроссплатформенного простого фоторедактора: Описание примера: http://docwiki.embarcadero.com/CodeExamples/XE5/en/FMX.Mobile.PhotoEditorDemo_Sample_(Delphi) Исходники: http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RadStudio_XE5_Update/FireMonkeyMobile/Delphi/PhotoEditorDemo/ Размер сжатого приложения Собираем приложение и смотрим на результирующий пакет PhotoEditorDemo.apk (Он располагается в директории .\Android\Debug\PhotoEditorDemo\bin относительно корня проекта). После сборки приложения его размер ~6 760 КБ (в зависимости от Debug or Release сборки). Это размер сжатого пакета нативного приложения. Размер распакованного приложения Если мы распакуем ZIP архиватором этот файл, то увидим его содержание: В распакованном виде, пакет занимает 21,7 МБ. Состав пакета Что же входит в его состав: lib - место хранения собранных натиных библиотек приложения. Поскольку приложение нативное, то оно работает на основании библиотеки .so. res - место хранения ресурсов приложения (картинки, иконки и тд) META-INF - хранение подписи приложения, контрольные суммы файлов ресурсов (картинок, звуков и т.д.) AndroidManifest.xml - манифест приложения (расширенный аналог VersionInfo в Windows) classes.dex - файл с java реализацией дополнительного функционала FireMonkey. resources.arsc - таблица ресурсов. В этом файле собраны xml-описания всех ресурсов. Самый значительный вклад в размер пакета вносят: libPhotoEditorDemo.so (20 060 КБ) - непосредственно сам бинарник приложения classes.dex (1 948 КБ) - частичная реализация FireMonkey на java. Размер самого приложения большой потому, что включает в себя полностью все Delphi библиотеки, которые используется FireMonkey. А это: RTL Хедеры для доступа к Android API Нативные стили для Android (три стиля - 1х, 1.5x, 2х, 3х скалирования экрана). Каждый стиль содержит исходную png картинку нативного стиля. Фильтры и эффекты FireMonkey Вся остальная реализация FireMonkey. Довольно большой набор того, что нужно включить в пакет и тяжело выбросить. Если говорить о приложении написанном в Eclipse, то приложение включает в себя только часть пользовательского кода. И размер мал за счет того, что весь Android API находится перманентно на самом устройстве (не в пакете). Если бы используемая часть библиотек FireMonkey находилась на каждом устройстве, то размер приложения сократился бы раза в четыре. Вывод Размер установочного пакета приложения, написанного на FireMonkey не большой для нативных приложений порядка 6 760 КБ для реализации простого фоторедактора (Хотя для кого-то это может быть много). В установленном виде приложение занимает от 20 000 КБ. Основная причина полная интеграция используемых библиотек в пакет приложения. Вероятность уменьшить этот размер маловероятна. Однако увеличение функционала приложения не так сказывается на дальнейший рост приложения. Можно попробовать сделать усеченные библиотеки, сократить функциональность. Но это не даст ощутимого уменьшения результирующего размера приложения. На сколько важен размер приложения для конкретной работы приложения каждый заказчик решает сам. P.S. Цель этого ответа дать подробный ответ о причинах такого размера, а не попытка вызвать обсуждение на тему сравнения сред разработки. Каждый framework обладает своими достоинствами и недостатками. И выбор средства разработки диктуется совокупностью требования заказчика.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...