This Tutorial Android Interpolators with Spinner
Prev Tutorial Android View Animation
Next Tutorial Android AppBar ToolBar Design
If you are just arriving at this page; and you are not familiar with with creating Android Apps, we suggest you begin with our tutorials:
Coding Android App Pages
and How To Create a Simple App in Android
From there follow along with each tutorial lesson.
AIDE and ANDROID STUDIO
We are using AIDE(a mobile coding environment using language java/xml), to create these tutorial apps on our
tablet(7" screen) that has android version 5.0.
Once we build and RUN our app; we then install the app on this same tablet; and the app is also installed on a smart phone that has android version 6.
AIDE can be installed on any android version from 4 - 8.
We are using the AIDE coding editor to code our pages; and then to Create - RUN our apps. AIDE is a SDK coding environment for android devices like a tablet or smartphone.
AIDE has a free and paid version.
Once you create your apps code pages, you need to RUN the app to build your apk package; then you INSTALL it on your tablet or smartphone.
For info on using AIDE, gohere
can also create; RUN your apps using the code in these tutorials, with Android Studio. Android Studio is for desktop computers. Choose Java XML as the programming language.
Android Studio is free to install and use for your android app development. Although not as convenient as testing your app on an actual android device; you can test
your newly created app in Android Studio using its' android emulator.
Complete Example Codes are available for each of our tutorials. With these example codes you can make a functioning android app in
either AIDE or Android Studio.
Animation Interpolators with Spinner
First, create a java/xml android template app using AIDE, (or Android Studio). Then you can get the code for this app from the EXAMPLE CODE section on this page.
Replace the code on the pages you need to(with our tutorial code); in order to create this app.
Sometimes, new pages have to be created.
All the other coded pages in your app
can remain as they are; they don't need to be changed.
This is the App Photo - Spinner (with Interpolator Examples)
Where - How - Why To Use Animation Interpolators, Spinner
Are used often in view animations. They allow you to add additional methods for the action of the animated image, drawable, or text.
When you animate an object it moves in a direct steady style across the view.
However, by adding a selected interpolator to your animation you can add another
way of moving your animation object such as; accelerate, decelerate, bounce, cycle, overshoot, anticipate. These are added to your animation code like this:
By adding this code, the animation object; example an image using the Translate method, will accelerate
itself as it moves across the view.
If you added decelerate, then it would slow itself as it moves across the view.
This app will show you the different interpolator methods.
is used to present a dropdown type box to the user, who can then select from the items displayed in the box. For this tutorial, a spinner has been used
to allow you to select from the various interpolators method types. When you select one, it will animate for you. This will allow you to see how the different interpolators
can be used for you view animations.
For additional reading on View Animations, Interpolators, and Spinners
Interpolators for Animations
Material Design Theme
For each template android/gradle/java/xml app you create:
The res/values-v21 styles.xml file has the code for the material design theme name: Theme Material Light; for devices using android version 5.0, Api 21 or latest.
The res/values styles.xml file has the code for the theme name: Theme Holo Light, which is for devices that are pre material design platforms; ie less than android version 5.0 Api 21.
For this app tutorial, we want to use the
This theme has a dark colored view with a slightly different dark colored action bar. The action bar is at the top of the app view, where you can see the app name.
The code for this is shown in this image.
We need to change the code to read Theme.Material, in our styles.xml file located at res/values-v21 of the app project.
For devices using android 5.0 Api 21, or later versions, they will now see the Theme.Material
For users of devices that are pre or before android 5.0 Api 21, they
will have the Theme.Holo.Light as their theme. We need to change the theme to read Theme.Holo at the res/values/styles.xml file.
Doing so will make users of pre-android 5.0 also see a dark colored theme and action bar.
You can copy paste the code for these themes at the Example Code section on this page, for the styles.xml file
Creating - Naming Your App Using AIDE
When creating your app,(from left menu) choose:
Create New Project;
New Android App(gradle, android Java/xml)
Hello World App Java/xml
if your using the original version of AIDE
You can name your app whatever you like; if your using the name as shown in our example code use;
for the App Name and,
for the package name(next line) use:
The Coded Pages
For this app you will use these coded pages:
1 layout file, main.xml; this page has the code for our Spinner layout; located at res/layout/main.xml, already created, just replace the code on
this page with the code from our Example Code section and save the page.
1 java class page; MainActivity.java; located at app/src/java/MainActivity.java. Already created for you, just copy replace the code from the Example Code
section and save the page.
Each code class you code has a corresponding import
, that has to be coded in your apps java file.
The default java page created for our template android app is named MainActivity.java. This is where we put the import codes.
If you were to add additional pages to your app, then you would code any additional java pages with the import code or codes for whatever code classes your implementing.
Each android template app we create codes the common required 'import' for us, like:
These are the most common ones; as all apps have one page, one view, and an os.
These are coded at the top of the java class page.
When we add coded elements
to our app layout code as we have done for this app; then we need to add the required 'import' codes to the java file.
These are the required import codes for this app
As you look at the java class file, MainActivity.java, you have all these code methods in the code which is why they must have a corresponding import code also.
You can copy paste the code from the Example Code section to replace the code on the java page now and save the page.
1 strings.xml file; This file has the strings that contains the app_name text - Spinner; you can delete the Hello World text string, it is not needed for this app.
, this page has the code for the Sdk min and target versions and our support libraries code if we need to add any to our app.
The support libraries code is added at the 'dependencies' section in the build.gradle file, and the Sdk versions are added at the 'defaultConfig' section in the
Because we are using Material Design theme we need to code, Sdk min 14, and target version 21.
This file has been created for us and coded with the proper Sdk min 14, and target version 21; so we don't have to code those.
And, for this app we don't need to add any support libraries, so we do not need to edit this page.
For this app, the build.gradle file is located at; AppProjects/Spinner/app/src.
The androidmanifest.xml file is where you can code your 'app theme' name, code your 'intent filters', and add other necessary codes if your app requires them.
You can also code your Sdk min and target versions here that your app needs; but since they are already coded in the build.gradle file they do not need to be coded here.
AIDE - Coding - Error Messages
When you code with AIDE you will no doubt from time to time get error messages. The import code is a good place to look for errors, because you may have
not coded a certain required import for the code classes or widgets your implementing. And, the error message or messages may not be indicative of the actual error which is why
you may need to look in different code areas to try and find the error.
Some Common Errors When Coding Android
File names that don't match the corresponding code in another file
File names that don't match the corresponding File name in another file
Java file name changed, but not changed in AndroidManifest.xml file; Example, if you change MainActivity.java to Test.java, then the name Test must
be added to AndroidManifest.xml file at Activity element, where it says, android:name=".MainActivity", change file name to read: android:name=".Test"
Android Manifest file for AppTheme; incorrectly spelled or missing
Android Manifest file for code required; at the element Uses-Permissions; InternetPermissions,SDK min and Target versions, or Intent filters for additional app pages
Android Manifest file for code required; at the element Uses-Permissions for hardware codes like if your adding a camera to your app, you must code in the
manifest file the permission for the camera: as such:
R.id names from layout file that don't match to the name in the java file; misspelled or not capped, camel cased
Capitalized words versus small capped words
Java pages not camel cased; all java page names must be camel cased like: myappname.java - correct spelling is MyAppName.java
Drawables - all images, drawables must be small letters only, not capped, and no dashes, underscores allowed, and don't put file name extension; example
myphoto.png, code it as myphoto, do not add the png.
SDK target and min versions not matching the code implemented - check your APi level for a code your implementing
Images/xml pages put in wrong folder, example, for frame animation all images and xml files go in the res/drawable folder, however for view animation the
xml files must go in the anim folder, and images go in the drawable folder.
Coding For Compatibility
The Material Design platform was introduced in android 5.01 which is api 21, for coding purposes Sdk version 21. Each android platform build version has a API assigned to it.
View the Android Platform Versions and API Levels
You can find the android platform version of your android device at: Settings, AboutPhone.
For most apps you build you will need to have the proper Sdk version coded in either the build.gradle file or the AndroidManifest.xml file.
Android devices at this time support several different platforms. The platforms range from 2 to the most current version being 8.0(oreo api level 27).
At this time users on platforms 5,6,7, and 8 have about 80% of the market and users
on platforms 4 and previous to 4 have about 10% of the market(May 2019 stats).Android Platforms Market Distribution
In order to provide support to make the apps you create compatible for all the different android platforms; android uses support libraries
as dependencies, and coded as such in your build.gradle file.
To make the apps you build compatible, you should at this time, use at least min Sdk version 14(for any added support libraries), and for target version Sdk using versions 21 to 26 would
give your app the best possible user audience.
Doing so will make your app compatible with more android device platforms.
In addition to adding the Sdk min and target versions, you also need to add the 'support libraries' code for any
code class you add to your app that requires them like the CardView code class from Material Design.
Support libraries are used to make code compatible across the different android platforms, and adding them will make your app more compatible to more
Additionally, android uses support libraries for certain code classes that are new or that simply require a support library in order to be implemented; like in
Material Design. Several code classes or widgets from Material Design require a support library in order for the code to perform as it should in your app and
for the different platforms as well. Some examples are the CardView, RecyclerView, SnackBar, Fab buttons, and UI Designing Widgets.
How To add a 'support library' to your code:
Basically, you add a line or few lines of code to your build.gradle file at the 'dependencies' section. For example, any UI design widgets or features you want to add from
the Material Design coding classes requires the 'design' library to be added.
This is the code;
Android Developer website has the latest versions of these support libraries.