I'm considering to put a loading animation and a progress arc in a single object (like WhatsApp when loading a record), so I thought it was better to use TArc and TFloatAnimation, since I can control the StartAngle and EndAngle of the stroke. I'm trying to make the Google loading spinner logic but I'm very confused, it looks like there is a FloatAnimation with "linear" interpolation property that controls one of the angles and another one that looks to have a exponential or sinusoidal interpolation that start/end very fast and I can't see it, anyone had already tried to reproduce it? Thanks.
How to make the Google loading spinner with TArc?
4.4k Views Asked by Maurício Lima At
1
There are 1 best solutions below
Related Questions in ANDROID
- Delay in loading Html Page(WebView) from assets folder in real android device
- MPAndroidChart method setWordWrapEnabled() not found
- Designing a 'new post' android activity
- Android :EditText inside ListView always update first item in the listview
- Android: Transferring Data via ContentIntent
- Wrong xml being inflated android
- AsyncTask Class
- Unable to receive extras in Android Intent
- Website zoomed out on Android default browser
- Square FloatingActionButton with Android Design Library
- Google Maps API Re-size
- Push toolbar content below statusbar
- Android FragmentPagerAdapter Circular listview
- Layout not shifting up when keyboard is open
- auDIO_OUTPUT_FLAG_FAST denied by client can't connect to localhost
Related Questions in DELPHI
- How to not load all database records in my TListbox in Firemonkey Delphi XE8
- How to catch WM_DEVICECHANGE in a control other than TForm?
- show information with Rolling / moving messages delphi xe7
- What is the different between "Console target" and "GUI target" in DCC32 option?
- How to add new online ressources to RAD Studio help system
- C# and Delphi code have different behaviour when importing unmanaged dll
- Loop through records on a cxgrid and update a field/column
- Delphi 7 - Save to a Specific .INI Files Name
- TImagelist for large images
- how to modify a function so it returns an array of strings
- Checking for internet connection in runtime
- How can I make the main form align correctly after my control height is autosized and then I maximize the form?
- fetch data from web service to dataset in Delphi
- Load candlestick data from file
- Infinite loop in parsing a string using pointer math
Related Questions in ANDROID-ANIMATION
- How to notice, when fragment animation after popBackStack is done?
- How to resolve when providing Layout left margin programmatically to a View / Viewgroup (For Animation), View getting shrinking
- Android - Updating View's Height on translationY() Animation
- Animate fading Background Drawable dynamically
- Zoom in and out animation words in Textview android
- Android moving search box to action bar on enter
- Android NullPointerException on ValueAnimator.start()
- Multiple animations to an image view in different time
- How to repeat an AnimationSet with sequentially added animations
- Android ViewFlipper with translation animation - not working properly
- How to make layout with physics effect in Android?
- Android custom animation interpolator - slow animation speed by half after half of it's duration has passed
- Android layout animation
- delay slide action when an image is clicked using viewpager android
- Spinner drop down animation
Related Questions in DELPHI-10.1-BERLIN
- Getting Error: Unable to install package. (e800004b) in dephi while trying to run in iPhone
- In an XML document with prolog, how can I get the children of the root node with their attributes?
- How to read a floating point value correctly from an XML file independently from regional settings?
- TStateMachine<TState, TTrigger>.TStateConfiguration.OnEntry is never fired
- How to vertically center the Edit Text in Vcl.ExtCtrls.TButtonedEdit?
- disable indy TIdTCPClient connect retries in firemonkey
- How to match start address of a thread to a module name?
- Delphi 10.1 Berlin Firemonkey TComboBox StyledSettings, Excluding the styles
- FMX on iOS: how to perform partial invalidation?
- How to check if Anonymous thread is running
- How to completely terminate Parallel task from main thread?
- How to set a higher task priority to a Parallel.Async background task?
- Main thread blocking parallel thread?
- Indy TCP Hole Punching, 10061 Connection refused
- How to filter out non-readable screen-fonts?
Related Questions in C++BUILDER-10.1-BERLIN
- Data passing of C++Builder "__property"
- Are event handlers re-entrant in Embarcadero C++Builder?
- BEGIN_MESSAGE_MAP caused C++ Builder 10.1 to crash to desktop
- Error message linking a C++ Builder 10.1 Berlin project
- Set database value to NULL
- How can I use fprintf to write text from a TEdit control to a file in C++Builder 10.1
- Migrated C++ Builder project lose Imagelist transparency
- OpenDialog always returns false on Win10
- EOutOfResources in DLL
- C++ Builder How to convert a Console app to a VCL console app?
- How to make the Google loading spinner with TArc?
- C++ Builder bccarm error when calling std::vector::push_back with TObject descendant
- How to put menu bar in Apple menu bar in Mac OS by C++ Builder?
- Change Text Color, BG Color etc in the entire application
- Try-catch problem in Embarcadero C++ 10.1 x64
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?

Requirement to make this:
I find that you calling it a spinner is wrong. It's a spring in a harmonic motion plus a rotation effect.
This is the effect if you don't know it
You could read about it in Wikipedia (Warning it's written in French)
Now to solve this problem you need to define an array which will hold the values of the potential energy required to compress and stretch the spring.
The animation you are seeing is this
the spring stretching then getting compressed again. And in order to make it rotate we will define a rotation speed
and the finale animation would look like this
This is final implementation of this animation:
Also you could create animation like these
Update: after some synchronization(don't ask me how)
I found the could be exact replica of that google animation
Steps:
TArcto 102.[23, 40, 39, 31, 23, 18, 15, 13, 11, 9, 7, 6, 5, 4, 4].and the result is this (the google animation on the right)