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

Лидеры

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

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

  1. Доброй ночи! Я не стал динамически создавать элементы "меню". Просто накидал их на форму. Можно сильно "помудрить", чтобы привести все возможные варианты к единому коду, но что-то мне влом было писать (смотрите заремленный кусочек). А для примера использовал свойство HelpContext... Вообщем все в приложении. Думаю, там все достаточно просто и понятно. Все раскрывается так, как Вы описали, с анимацией. MenuEx.zip
    1 балл
  2. Нет, базовый Timage не поддерживает 9-patch изображения. Однако, в FireMonkey для создания растровых стилей есть специальный объект, позволяющий вывести такое изображение: FMX.Styles.Objects.TStyleObject. Чтобы этот объект появился в палитре инструментов его нужно зарегистрировать. Это можно сделать так: Редактирование стиля, как добавить "TStyleObject", "TActiveStyleObject" и т.п.? Или просто установить пакет FGX, который в том числе регистрирует все стилевые объекты.
    1 балл
  3. Открытие любого файла в подходящем приложении в операционной системе Андроид выполняются одинаковым способом. Путем посылки намерения (Интент) с указанием файла и типа данных. Далее система ищет по указанному типу файла, какие приложения зарегистрированы на обработку файлов этого типа, Если приложение, которое может обработать этот файл, одно, то запускает активити приложения и передает туда ваш файл/данные. Если приложений несколько - запускает диалоговое окно выбора приложения, которое будет выполнять обработку вашего файла. Резюмируя это, смотрим на код: uses System.IOUtils, FMX.Helpers.Android, Androidapi.JNI.Net, Androidapi.JNI.GraphicsContentViewText; procedure TForm7.btnOpenPDFClick(Sender: TObject); const SAMPLE_PDF_FILENAME = 'example.pdf'; var Uri: Jnet_Uri; OpenLinkIntent: JIntent; PDFFileName: string; begin PDFFileName := TPath.Combine(TPath.GetDocumentsPath, SAMPLE_PDF_FILENAME); { Внутренний доступ} Uri := StrToJURI(PDFFileName); // Формируем намерение об открытии файла в стандартном приложении OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); // Устанавливаем тип данных OpenLinkIntent.setType(StringToJString('application/pdf')); OpenLinkIntent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP); // Запускаем приложение и передаем ему наше намерение try SharedActivity.startActivity(OpenLinkIntent); except on E: Exception do ShowMessage('Не удалось открыть PDF. В системе нет доступных приложения для просмотра pdf'); end; end; В этом код pdf файл берется из самого пакета приложения (я включил pdf файл в пакет приложения). Если вам нужно вытащить файл в любом другом месте, просто укажите в PDFFileName полный путь к файлу в файловой системе вашего устройства. Проект доступен тут: OpenPDF.zip
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...