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

Gingercat

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

    111
  • Зарегистрирован

  • Посещение

  • Победитель дней

    8

Сообщения, опубликованные Gingercat

  1. Ну вот - как кто то сказал: сам задал вопрос, сам и ответил. Переустановка помогла, размеры приехали в норму - порядка 9 метров апк, и в развернутом виде - чуть больше 13. Что это было - вопрос остался. Да и приставка неотрицательный исчезла. Спасибо всем, кто откликнулся

  2. Прошу прощения - я ошибся... в развернутом виде эта, прости .. весит 110 метров. Полторы тысячи строк кода, ни изображений, ничерта - куча контролов. И еще: что значит добавка unsigned в названии? видимо я точно где то туплю безбожно?

     

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

     

    А еще - как правильно собирать релиз? то бишь, под какое устройство собирать - есть ли разница (собирается релиз по реальный смартфон, прицепленный по usb)? может тут собака зарыта

     

    Ладушки, есть проверенный способ - переустановка студии - попробую)

  3. Доброго дня. Даже не знаю, может и глупость, но где прочесть (про уменьшение размеров я читал - это не то). Одним словом - размер debug версии приложения ~10 Mb, а вот финальная сборка release - более 30 Mb. ЭТО нормально? Возможно упаковывать надо или сжимать - подскажите, кому не тяжело :) XE7 (C++)

     

    В установленном виде на телефоне 13Mb - бред какойто (зависимости все перебрал)

  4. У вас, совершенно случайно, не висит никакой костыль на OnClose? Из всех найденных вариантов закрытия приложения, помог только способ ruslan, все остальное вело себя, примерно по вашему описанию. XE7(c++).

  5. Да, все выполнил (это ваиант Ios - для андроид меньше). Удалось победить практически все примеры, кроме TTabControl - из-за чего, собственно и весь сыр бор.  :angry: Большинство работает, видимо проблема таки не в руках.

     

    Сейчас переустановлю все - попробую с чистого листа попробовать.

     

    D.P.F Android Native Components
    -----------------------------------------------

    How to install and use:

    1) Go Tools->Options->Delphi Options->Library and :
    1-1) change Selected Pltaform to 32-bit windows and add X:\DPF.Android.Native.Components\ in library path
    1-2) Then change Selected Platform to Android and add X:\DPF.Android.Native.Components\ in library path


    -------------------------------------------------------------------------------------------
    XE5: (Not support since v2.8.6 )
    2) DPFAndroidPackagesXE5.dpk
    2-1) Select 32-bit windows and build then install.

    -------------------------------------------------------------------------------------------
    XE6:
    3) DPFAndroidPackagesXE6.dpk
    3-1) Select 32-bit windows and build then install.

    -------------------------------------------------------------------------------------------
    XE7:
    3) DPFAndroidPackagesXE7.dpk
    3-1) Select 32-bit windows and build then install.

    -------------------------------------------------------------------------------------------

    4) Merging classes.dex
    4-1) Open build.bat file in editor and set ANDROID and EMBO_DEX variables
    4-2 Or use my changed Classes\classes.dex ( Only Delphi XE7 )

    Note:

    If you cant make this file successfully, all demos or you new project on device will be shown as black screen...

    When the small Java source files get compiled, the Android dx tool expects them to be compiled by the JDK 1.6.x compiler as opposed to the JDK 1.7.x compiler. If you have JDK 1.7.x installed, you hit a problem with dx reporting:
    bad class file magic (cafebabe) or version (0033.0000)
    However, to avoid forcing a reinstall of JDK 1.6 you might like to modify build.bat batch files and add in extra command line switches to the javac.exe command-lines. You need to insert this after the javac.exe command to force Java 1.6 byte code output, which is digestible by the Android dx command:

    -source 1.6 -target 1.6

    5) Before deploying Demos on Simulator or Device dont forget : Go to
    Project Menu - > Deployment -> Deply

    (very important)
    6) Make sure delphi default classes.dex file must be unchecked in Deployment window and new
    Classes\classes.dex with classes\ remote path name, must be added in the Deployment window.
    (see classes_dex.png image)

    (Thanks to "Brian Long" for merging dex files)

    7) in your projects->Options->Uses Permissions : make sure turn on :
    7-1) Access coarse location
    7-2) Access Wifi State
    7-3) Access Network State
    7-4) Access fine location
    7-5) Call phone
    7-6) Camera
    7-7) Internet
    7-8) Read Calendar
    7-9) Read External Storage
    7-10) Read Phone State
    7-11) Write Calendar
    7-12) Write External Storage
    7-13) WAKE LOCK


    Enjoy it!

    -------------------------------------------------------------------
    © 2011-2014 Dadeh Pardazane Faragir (D.P.F). All rights reserved.
    http://www.dpfaragir.com
     

    Developed by: Babak Yaghoobi ( b_yaghobi@yahoo.com or bayaghoobi@gmail.com)

  6. Доброго вечера. Предвидю гневные возгласы - сам знаю, что неуч. Собственно наткнулся на данные компоненты - хотел поделиться, а тут уже давно есть ссылка. Что я не так делаю - практически во всех демках черный экран.
     
    Компоненты установленны, пути прописаны - все в порядке.
     Classes\classes.dex - на месте.
    В деплое classes.dex прописан и находится.
    Штатные класы отключены, в деплое битых путей нет

    Разрешения включены 

     

    Подскажите, что еще нужно сделать? 
     
    Rad Studio XE7.
     
    P.S. просто судя по скорости работы демки, которую удалось запустить - ANDScrollView, анимация приятнее, чем родная, обезьянья. 
    Заранее благодарен за помощь, эээх :(
  7. Доброго времени суток. 

     

    Набросал тест с использованием скриншота - анимация приятнее, но до красивой еще далеко :(  

     

    Сообразил (а потом дочитался на форуме про паралельный поток) - такой вариант отпадает. Собственно, если может кому интересно - в архиве приложеньице для Android (ибо листание свайпами) - поглядите. За код не буцать (был опыт еще со спектрумовским ассемблером ;), если кто помнит, да пара простеньких прожек)  - все решалось в лоб и без изысков, просто для проверки: там намудрено с порядком показа/скрытия, но иначе не вышло - позиционировать изображение именно в андроиде оказалось весьма проблематично: время от времени, картинка могла появится где угодно - жила собственной жизнью.

     

    Видимо из-за подтормаживаний (если сознательно было листать часто вперед/назад, мог появится подобный баг).  Может у кого есть идеи, как улучшить в общем, и почему при первом показе такие жуткие тормоза? 

     

    И еще, подскажите пожалуйста  :rolleyes: - после создания скриншота, и работы с ним, память нужно освобождать перед созданием следующего, что-то типа Image0->Bitmap->Free();

     

    SlideScreeshot.zip

     

    p.s. кто то на форуме спрашивал про эффекты - вот возможное решение: со скрином можно делать чего душе угодно.

  8. Теже на манеже - прошу прощения. Итак: аннимация с новым компонентом, ведет себя чуть лучше, чем никак, по сравнению со штатными TTabControl. Добавляя пяток кнопок, уже визуально заметно дерганье при перемещении. Плюс - где то намудрено с размерами - при смене вкладок, между ними моргает полоска - что вообще ни в какие ворота не лезет. Итог - бяка. Все таки нужно смотреть в сторону самостоятельного получения скриншота (жаль нету тут GetDiBits), и смене вкладок в паралельном потоке с максимальным приоритетом (привет Ios). Пока только мысли - буду думать)

  9. Блин, как же дочерта еще не знаю. Папка в одном месте, dcu файлы появляются в другом. Видимо необходимо куда то по умолчанию  помещать файлы компонента, чтобы он собирался в нужном месте. В папке lib в корне студии создал папку для компонента, а компонент появился выше по дереву в папке bin)))) 

     

    Ну да ладно - собрал, проект собирается - отпишусь потома, чего получится.

  10. Спасибо - так получилось, но так понимаю - это для Windows? все пути попрописывал - собирается, но вот инсталлить - неа, нету к контекстном меню инсталла) Блин - придется изучать более подробно всю возню с компонентами - пригодиться))

     

    Спасибо еще раз Андрей.

  11. Доброго дня, уважаемые! В поисках утешения, тьфу - решения проблемы с быстродействием, наткнулся на интересную вещь - заметка здесь - http://www.fmxexpress.com/fast-animated-tabcontrol-transitions-for-delphi-xe5-firemonkey-on-android-and-ios/

     

    На радостях - а вдруг решение, полез читать дальше, и попал на Google code - https://code.google.com/p/fmx-extensions/source/browse/trunk/#trunk%2FLib%2FUX

     

    Поскольку далек от делфи, да и с абракадаброй пока на вы, на этом месте радость кончилась)) Не будет ли кто либо так любезен, и объяснит - как использовать два данных файла (демо там нет, описания также, да и файлов больше, но подозреваю нужны эти два). Это компоненты? Если да - как их собрать? В общем одни вопросы.

     

    Может данный вопрос и не совсем по теме форума, но вдруг это решение - думается не мне одному было бы полезно.

     

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

     

    Заранее благодарю. 

  12. К сожалению нет - это перенос строки, и толку от него нету (на худой конец у меня не срабатывает как Enter). Да и вот попробовал в левом приложении - если есть возможность, переносит строку, но не срабатывает в качестве Ок - клавиатура не скрывается.

     

    С одним разобрался - может кому пригодится: совсем забыл что у формы есть эвенты показа и скрытия клавиатуры. Вероятно, такое решение не самое оптимальное  :rolleyes:, но решение. Как сразу не дошел...

    void __fastcall Assistant::FormVirtualKeyboardShown(TObject *Sender,
    		  bool KeyboardVisible, const TRect &Bounds)
    {
    
       if (	KeyboardVisible == true && TabControl1->ActiveTab == TabItem3)
       {
    	 // Необходимые перестройки интерфейса
       }
    }
    

    А вот с клавиатурой - неужто никто не сталкивался?

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

     

    Подскажите, кто знает - может есть настройки какие для этого, или еще чего? Поискал в сети, но если честно - с трудом представляю вообще, что искать  :(

     

    На картинке все видно. Оченьнама не хватает подтверждения на клавиатуре - приходится городить лишние кнопки и тд.

     

    post-885-0-20168000-1425194696_thumb.jpg

     

    P.S. - тогда уж наберусь наглости - как отловить ввод в SearchBox? При открытии клавиатуры перестравиается интерфейс (кой чего прячу, а поле SearchBox в TListView поднимаю вверх, дабы не пряталось под клавиатурой). Многие приложения грешат таким глюком - весьма неприятно и неудобно - вводить не видя что. Так вот не могу поймать момент ввода в SearchBox. Всякие OnEnter, Change и тд не помогают. Пока вижу только выход в расчете места тапа по экрану и проверке - если в поле ввода - значит перестройка интерфейса. Но может есть варианты проще?

     

    Парадокс: MousePos() не возвращает координаты при клике в SearchBoxe... Вот и задумаешся тут о блин userfriendly-интерфейсе - может ну его  :D

  14. Android - вариант со скриншотом чуть лучше, чем штатная анимация смещения TListView. Во-первых: проблема с захватом экрана - вьюпорт, по ему только известному алгоритму, отхватывает кусок экрана, хоть выставляй выравнивание, хоть нет (скрины тут http://fire-monkey.ru/topic/1023-pozitcionirovanie-tviewport3d/#entry4473). Во-вторых: в момент подмены экрана на скриншот, заметно мигание - толи скрин не мгновенно показывается, толи черт знает - в общем - весьма неприятно и некрасиво (пробовал по-разному: очередность показа скрина и скрытия Layout-а). Аннимация делалась на основе примера ControlsDemo в семплах.

     

    Да - телефон Samsung GT-l9082 (контролов на экране нет - обычная картинка). Боюсь и подумать, что будет на телефоне с фулл-Хд разрешением.

     

    На данный момент единственный выход - показывать табы без аннимации, хоть это и прошлый век.

  15. Доброго дня. Надеюсь не достал расспросами  :rolleyes: . Теперь проблема с вьпортом, а точнее - его выравнивании. Читал пост из ветки : скачал триалку XE7 update 1 - бесполезно, у вьпорта собственные высота и ширина..
     
    Пробовал различные выравнивая; засовывал вьюпорт в скролл-бокс, и внаглую задавал ширину и высоту - не помогает.
     
    Причем, если задать ControlRoot(TLayout)->Align = TAlignLayout::Bottom - вьпорт цепляет весь экран. Но тут возникает следующая оказия - при смене ориентации экрана, Layout не растягиваеться на весь экран (выравнивание выставляю то Bottom) . Это как теперь - на каждый чих пользователя, задавать Layout  = Client, или вообще получать кооординаты и подстраивать положение? Может кто сталкивался?

     

     

    Картинки

     
    post-885-0-85654800-1424787603.jpgpost-885-0-67564700-1424787627.jpg

     

    Код

    void __fastcall TForm5::SwitchTo2D()
    {
    	delete FViewport;
    	//delete FContainer;
    	ControlRoot->Visible = true;
    }
    
    void __fastcall TForm5::SwitchTo3D()
    {
    	
    FViewport = new TViewport3D(this);
    
    
    	FViewport->Align = TAlignLayout::Client;
    
    	//FViewport->Color = TAlphaColorRec::Null;
    	FViewport->Parent = this;
    
    	FContainer = new TLayer3D(this);
    	FContainer->Projection = TProjection::Screen;
    	FContainer->Align = TAlignLayout::Client;
    	FContainer->Parent = FViewport;
    
    		TImage *img = new TImage(this);
    	img->Bitmap->Assign(ControlRoot->MakeScreenshot());
    	img->Parent = FContainer;
    	img->Align = TAlignLayout::Client;
    	img->Margins = ControlRoot->Margins;
    
    	ControlRoot->Visible = false;
    }
    void __fastcall TForm5::Button1Click(TObject *Sender)
    {
    	((TButton *)Sender)->Enabled = false;
    	SwitchTo3D();
    	if (FContainer != NULL)
    	{
    		TAnimator::AnimateFloat(FContainer, "Position.Z", 500, 1);
    		TAnimator::AnimateFloatDelay(FContainer, "Position.Z", 0, 1, 1);
    		TAnimator::AnimateFloatWait(FContainer, "RotationAngle.X", 360, 2 , TAnimationType::InOut, TInterpolationType::Back);
    	}
    	SwitchTo2D();
    	((TButton *)Sender)->Enabled = true;
    

     

    Заранее спасибо)

  16. Также не нашел - может кто ткнет носом в пример с использованием MakeScreenshot.   

    Ибо тормоза просто неимоверные при наличии нескольких контролов на форме. Конечно понимаю - Андроид, со всеми вытекающими, но не до такой же степени)

  17. Доброго дня. Никак это не вылечить - сам столкнулся с подобной проблемой - хваленый Lenovo K900 также не работает. Если не ошибаюсь, планшет на  Intel: на данный момент платформа не поддерживается. Служба тех-поддержки поделилась следующим (планы) - http://edn.embarcadero.com/article/43677.

     

    Так что может быть, будет поддержка Intel в скором будущем.

  18. Читал, да видимо не обратил внимания. Как оказалось, да - достаточно было убрать заглавные буквы в списке, и проблема решилась. Прошу прощения за невнимательность, но регистр - это последнее, о чем мог подумать. 

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