Android Floating Label GUI Design

Android Floating Label Allows you to create a blow kind of EditText.
I've been experimenting a lot lately with mobile forms. Left aligned, top aligned, placeholder text only, etc. for client projects and personal projects.

Placeholder text works great for a simple username and password form, but not so much when there is more information. It's easy to forget which field is which once you've typed into all of the inputs.

If you opt for left aligned fields always exposed you end up with much less space. And space on mobile is precious. If top aligned fields are always exposed, it makes the vertical height grow very quickly.

This idea combines the best of both worlds with placeholder text and top aligned text. Only the placeholder text is showing by default, so there is a nice, clean and readable form. Once an input field is tapped and text is entered the placeholder text fades out and a top aligned label animates in. This way, with multiple fields a user won't forget what an individual field represents.

Floating Lable project is in initial mode, where a few customization is provided like changing Text color of EditText and Its Lable
        floatview:floatHintText="Whatever hint you want to display"

Features :

Float Hint Text

Specifies the text for float hint label

Float Hint Text Color

Specifies text color for float hint label both for focused mode and unfocused mode

Float Hint Text Style

Specifies the text style, bold,normal,italic

Float Hint Text Gravity

Specifies gravity of text left,right,top,bottom

Float Hint Text Size

Specifies text size

Float Hint Text Custom Typeface

Specifies custom font. (It has to be in to the assets folder e.g. /assets/some_font.ttf)

Float Hint Text Background

Specifies custom background. You can specify both color and drawable.

Actual Text

Specifies the text for editable text box
    floatview:text="Label 1"

Actual Text Color

Specifies text color for editable text box

Actual Text Style

Specifies the text style, bold,normal,italic

Actual Text Gravity

Specifies gravity of text left,right,top,bottom

Actual Text Size

Specifies text size

Actual Text Custom Typeface

Specifies custom font. (It has to be in to the assets folder e.g. /assets/some_font.ttf)

Actual Text Background


Actual Text As Password


Android UI Layout without XML

Scaloid is a library that simplifies your Android code for making android UI layout without XML. It makes your code easy to understand and maintain by leveraging Scala language.
Android UI Layout without XML,UI Layout without XML,Layout without XML,

For example, the code block shown below:
val button = new Button(context)
button.setOnClickListener(new OnClickListener() {
  def onClick(v: View) {
    Toast.makeText(context, "Hello!", Toast.LENGTH_SHORT).show()
is reduced to:
SButton("Greet", toast("Hello!"))

UI Layout without XML

Android SDK leverages XML to build UI layouts. However, XML is considered still a bit verbose, and lacks programmability. Scaloid composes UI layout in Scala DSL style, therefore achieve both clarity and programmability. For example, suppose a legacy XML layout as shown below:
<LinearLayout xmlns:android=""
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="wrap_content" android:padding="20dip">
    <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content" android:text="Sign in"
            android:layout_marginBottom="25dip" android:textSize="24.5sp"/>
    <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content" android:text="ID"/>
    <EditText android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/userId"/>
    <TextView android:layout_width="match_parent"
            android:layout_height="wrap_content" android:text="Password"/>
    <EditText android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/password"
    <Button android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/signin"
            android:text="Sign in"/>
    <LinearLayout android:orientation="horizontal"
        <Button android:text="Help" android:id="@+id/help"
                android:layout_width="match_parent" android:layout_height="wrap_content"/>
        <Button android:text="Sign up" android:id="@+id/signup"
                android:layout_width="match_parent" android:layout_height="wrap_content"/>
is reduced to:
new SVerticalLayout {
  STextView("Sign in").textSize(24.5.sp).<<.marginBottom(25.dip).>>
  SEditText() inputType TEXT_PASSWORD
  SButton("Sign in")
  new SLinearLayout {
    SButton("Sign up")
The layout description shown above is highly programmable. You can easily wire your logic into the layout:
new SVerticalLayout {
  STextView("Sign in").textSize(24.5.sp).<<.marginBottom(25.dip).>>
  val userId = SEditText()
  val pass = SEditText() inputType TEXT_PASSWORD
  SButton("Sign in", signin(userId.text, pass.text))
  new SLinearLayout {
    SButton("Help", openUri("http://help.url"))
    SButton("Sign up", openUri("http://signup.uri"))
Because a Scaloid layout description is plain Scala code, it is type-safe.

Automatic layout converter

This converter turns an Android XML layout into a Scaloid layout:

Migration tip

Scaloid is fully compatible with legacy xml layout files. You can access a widget described in xml layout as:
onCreate {
  val name = find[EditText](
  // do something with `name`

Responsive layout

Basically, a layout written in Scaloid is just an ordinary Scala code, so you can just freely composite the layout according to the device configuration:
import org.scaloid.util.Configuration._

if(long) SButton("This button is shown only for a long screen "
  + "dimension ("+ width + ", " + height + ")")
if(landscape) new SLinearLayout {
  SButton("Buttons for")
  SButton("landscape layout")
  if(dpi <= HDPI) SButton("You have a high resolution display!")


Fork one of this to start a new project:
For more check here.

Android M/6.0 for Lollipop/KitKat

The Launcher from the inital release of Android M Preview works fine, the one from Update 2 has bugs and on many devices Google App will constantly crash! Flash on your own risk! Developer try to fix that soon.


I am proud to present to you the new Android M Launcher,Camera, Wallpaper, Bootanimation, Ringtones and more, extracted from the M Developer Preview.
I also recognized that the Android M Launcher runs smoother than the Android L one on my old S3 and S6 and first Google Now Launcher which doesn't lag on my S3. So it is definitely worth to give it a try!


  • Android M Launcher/Velvet
  • Android M Camera -> you find the App now in the Play Store!
  • Android M Clock (can bring bugs!) -> you find the App now in the Play Store!
  • Connectivity Services -> you find the App now in the Play Store!
  • Android M Play Services [use on your own risks! This can bring bugs and more!]
  • Android M Wallpaper (download at Screenshots!)
  • Android M Bootanimation
  • Android M Ringtones (Note: Nearly ever tone is the same as in Lollipop!)
  • All Stock Nexus Android M Apps in one package (I wouldnt recommend to install all these apks, they are for tests, not more!)

Android M Experience - flashable zip file:

Old name: All in One-flashable:
Android M Experience will install the new Launcher, Bootanimation and Ringtone while flashing once.

How to install

New Google Now Launcher from M:
  • Download my Google Now App (Velvet) below
  • Download Google Now Launcher from Play Store
New Google Camera with lib files:
Google Play Services
This will only work on Android 5.0 and above, also it won't work on 64bit systems and it is recommended only to install if you have a 480 dpi device!
Just install the apk on your device.

New Android M Bootanimation:
Way 1: Download: and flash it
Way 2 [you need CyanogenMod Theme Engine!]: download bootanimation app from here
Way 3: 
  • Copy the file on your SD card/ internal storage on your phone
  • Use a the root explorer, CM File Browser or any other file browser with root access to perform this action
  • Copy the .zip file into the system/media folder 
  • Give the correct permissons 
Android M Ringtones (note nearly all are the same as in Lollipop!)
Way 1: Download: and flash it
Way 2: Download my and copy the files to system/media/audio to the correct folder

Download all package from here

Make Android Google Cast Sender App

With millions of Chromecasts sold and the Android TV ready to burst into living rooms, knowing how to build an app that supports casting should be in every Android developer's toolkit. This post will cover making an Android sender app to cast videos to a receiver app for displaying content on a television. All code for this example can be found on GitHub.

For this tutorial, we'll use an unstyled receiver application created through the Google Cast Developer Console. While there is a generic default receiver application that can be used, this will provide an option to style the default receiver, or build your own if needed. Once the generic receiver application has been created, make note of the application ID, as we'll use that later. If you haven't already, you'll also want to register your casting device in order to run debug applications through Google Cast.

Now, let's get to work on our Android application. The first thing that should be done is adding the libraries that we'll need to our build.gradle file.

compile ''
compile ''
compile ''

Once build.gradle is all set, we can add the Internet permission and play services to AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />

    android:theme="@style/Theme.AppCompat" >

        android:value="@integer/google_play_services_version" />

The next thing that we'll need to do is add the media routing button to our activity's menu file. This action bar button handles all of the state logic needed for hiding or displaying the casting button, as well as coloring it when the app has connected to a casting device.
<item android:id="@+id/media_route_menu_item"
For our last housekeeping item, we'll need to add some values to strings.xml, such as the video URL, receiver application ID and general UI strings. You'll need to replace app_id with your application ID, and video_url with a video that you would want to play.
For this example I picked up a link from for the George Romero classic Night of the Living Dead.
<string name="app_name">Chromecast</string>
<string name="video_url">xxxxx</string>
<string name="app_id">xxxxx</string>
<string name="play_video">Play Video</string>
<string name="pause_video">Pause Video</string>
<string name="resume_video">Resume Video</string>
<string name="video_title">Paul\'s Chromecast Video Stream</string>
<string name="content_type_mp4">video/mp4</string> 
Now that all of the preparation work is done, we can move on to working with our casting activity - To start, I've added a set of declarations to the top of the class to keep track of our casting components and general state logic.
private Button mButton;

private MediaRouter mMediaRouter;
private MediaRouteSelector mMediaRouteSelector;
private MediaRouter.Callback mMediaRouterCallback;
private CastDevice mSelectedDevice;
private GoogleApiClient mApiClient;
private RemoteMediaPlayer mRemoteMediaPlayer;
private Cast.Listener mCastClientListener;
private boolean mWaitingForReconnect = false;
private boolean mApplicationStarted = false;
private boolean mVideoIsLoaded;
private boolean mIsPlaying;
The UI for this activity consists of a single button that will start a video if the app is connected to a casting device, or can pause/resume a video once it has been started, and the media router button in the action bar. In onCreate we simply initialize the click listener for the main control button and the media router, selector and callbacks.
protected void onCreate( Bundle savedInstanceState ) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );

    mButton = (Button) findViewById( );
    mButton.setOnClickListener( new OnClickListener() {
        public void onClick( View v ) {
           if( !mVideoIsLoaded )


private void initMediaRouter() {
    // Configure Cast device discovery
    mMediaRouter = MediaRouter.getInstance( getApplicationContext() );
    mMediaRouteSelector = new MediaRouteSelector.Builder()
                CastMediaControlIntent.categoryForCast( getString( R.string.app_id ) ) )
    mMediaRouterCallback = new MediaRouterCallback();
Since the media router button exists in a menu file, we need to also override onCreateOptionsMenu and associate our selector with the MediaRouteActionProvider for the media router menu item.
public boolean onCreateOptionsMenu( Menu menu ) {
    super.onCreateOptionsMenu( menu );
    getMenuInflater().inflate(, menu );
    MenuItem mediaRouteMenuItem = menu.findItem( );
    MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider) MenuItemCompat.getActionProvider( mediaRouteMenuItem );
    mediaRouteActionProvider.setRouteSelector( mMediaRouteSelector );
    return true;
We'll also want to associate the media router callbacks with our router button in onResume.
protected void onResume() {
    // Start media router discovery
    mMediaRouter.addCallback( mMediaRouteSelector, mMediaRouterCallback, MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN );
mMediaRouterCallback is an extension of MediaRouter.Callback, and provides methods for performing actions when a route is selected or unselected.
private class MediaRouterCallback extends MediaRouter.Callback {

    public void onRouteSelected(MediaRouter router, RouteInfo info) {

        mSelectedDevice = CastDevice.getFromBundle( info.getExtras() );


    public void onRouteUnselected( MediaRouter router, RouteInfo info ) {
        mSelectedDevice = null;
        mButton.setText( getString( R.string.play_video ) );
        mVideoIsLoaded = false;
At this point your application should display the media router button in the action bar if you are on a network with a casting device (assuming you have stub methods in where necessary).

It will also allow you to choose a casting device to interact with.

As you probably noticed, MediaRouterCallback does a few different things in onRouteSelected. First it initializes mCastClientListener, which has methods for checking when an application status has changed, volume has changed or the client has disconnected from the receiver application (I'll go over the teardown method later).
private void initCastClientListener() {
    mCastClientListener = new Cast.Listener() {
        public void onApplicationStatusChanged() {

        public void onVolumeChanged() {

        public void onApplicationDisconnected( int statusCode ) {
Next the RemoteMediaPlayer is initialized. This object controls playback with the receiver, as well as provides a lot of useful state and status information.
private void initRemoteMediaPlayer() {
    mRemoteMediaPlayer = new RemoteMediaPlayer();
    mRemoteMediaPlayer.setOnStatusUpdatedListener( new RemoteMediaPlayer.OnStatusUpdatedListener() {
        public void onStatusUpdated() {
            MediaStatus mediaStatus = mRemoteMediaPlayer.getMediaStatus();
            mIsPlaying = mediaStatus.getPlayerState() == MediaStatus.PLAYER_STATE_PLAYING;

    mRemoteMediaPlayer.setOnMetadataUpdatedListener( new RemoteMediaPlayer.OnMetadataUpdatedListener() {
        public void onMetadataUpdated() {
Next, the selected device is stored and the receiver application is launched by using Google Play Services
private void launchReceiver() {
    Cast.CastOptions.Builder apiOptionsBuilder = Cast.CastOptions
            .builder( mSelectedDevice, mCastClientListener );

    ConnectionCallbacks mConnectionCallbacks = new ConnectionCallbacks();
    ConnectionFailedListener mConnectionFailedListener = new ConnectionFailedListener();
    mApiClient = new GoogleApiClient.Builder( this )
            .addApi( Cast.API, )
            .addConnectionCallbacks( mConnectionCallbacks )
            .addOnConnectionFailedListener( mConnectionFailedListener )

ConnectionCallbacks is another inner class that extends GoogleApiClient.ConnectionCallbacks. When the API client has connected from launchReceiver, the Cast API is used to actually launch the receiver specified by the application ID that we received earlier from the Google Cast Developers Console
private class ConnectionCallbacks implements GoogleApiClient.ConnectionCallbacks {

    public void onConnected( Bundle hint ) {
        if( mWaitingForReconnect ) {
            mWaitingForReconnect = false;
            reconnectChannels( hint );
        } else {
            try {
                Cast.CastApi.launchApplication( mApiClient, getString( R.string.app_id ), false )
                             new ResultCallback<Cast.ApplicationConnectionResult>() {
                            public void onResult(
                               Cast.ApplicationConnectionResult applicationConnectionResult) {
                                Status status = applicationConnectionResult.getStatus();
                                if( status.isSuccess() ) {
                                    //Values that can be useful for storing/logic
                                    ApplicationMetadata applicationMetadata =
                                    String sessionId =
                                    String applicationStatus =
                                    boolean wasLaunched =

                                    mApplicationStarted = true;
                                    reconnectChannels( null );
            } catch ( Exception e ) {


    public void onConnectionSuspended(int i) {
        mWaitingForReconnect = true;
At this point the application will start up our generic receiver application on the television.

In onCreate we added a method call to startVideo. As you may have guessed, this method is used to start video playback on the receiver if it is connected. This method is also where we could start a local player if the app is not connected to a receiver.
private void startVideo() {
    MediaMetadata mediaMetadata = new MediaMetadata( MediaMetadata.MEDIA_TYPE_MOVIE );
    mediaMetadata.putString( MediaMetadata.KEY_TITLE, getString( R.string.video_title ) );

    MediaInfo mediaInfo = new MediaInfo.Builder( getString( R.string.video_url ) )
            .setContentType( getString( R.string.content_type_mp4 ) )
            .setStreamType( MediaInfo.STREAM_TYPE_BUFFERED )
            .setMetadata( mediaMetadata )
    try {
        mRemoteMediaPlayer.load( mApiClient, mediaInfo, true )
                .setResultCallback( new ResultCallback<RemoteMediaPlayer.MediaChannelResult>() {
                    public void onResult( RemoteMediaPlayer.MediaChannelResult mediaChannelResult ) {
                        if( mediaChannelResult.getStatus().isSuccess() ) {
                            mVideoIsLoaded = true;
                            mButton.setText( getString( R.string.pause_video ) );
                } );
    } catch( Exception e ) {

When the video is casting to the receiver, the main UI button switches functionality to simply pausing or resuming the video by sending messages over the RemoteMediaControl
private void controlVideo() {
    if( mRemoteMediaPlayer == null || !mVideoIsLoaded )

    if( mIsPlaying ) {
        mRemoteMediaPlayer.pause( mApiClient );
        mButton.setText( getString( R.string.resume_video ) );
    } else { mApiClient );
        mButton.setText( getString( R.string.pause_video ) );

The last few methods to cover generally have to do with some cleanup to keep the app from crashing and to properly close a connection to the receiver. When the connection fails or the app is no longer running, we will call the teardown method.
private void reconnectChannels( Bundle hint ) {
    if( ( hint != null ) && hint.getBoolean( Cast.EXTRA_APP_NO_LONGER_RUNNING ) ) {
        //Log.e( TAG, "App is no longer running" );
    } else {
        try {
            Cast.CastApi.setMessageReceivedCallbacks( mApiClient, mRemoteMediaPlayer.getNamespace(), mRemoteMediaPlayer );
        } catch( IOException e ) {
            //Log.e( TAG, "Exception while creating media channel ", e );
        } catch( NullPointerException e ) {
            //Log.e( TAG, "Something wasn't reinitialized for reconnectChannels" );

private class ConnectionFailedListener implements GoogleApiClient.OnConnectionFailedListener {
    public void onConnectionFailed( ConnectionResult connectionResult ) {
...where teardown simply closes the casting connection and disconnects from Play Services.

private void teardown() {
    if( mApiClient != null ) {
        if( mApplicationStarted ) {
            try {
                Cast.CastApi.stopApplication( mApiClient );
                if( mRemoteMediaPlayer != null ) {
                    Cast.CastApi.removeMessageReceivedCallbacks( mApiClient, mRemoteMediaPlayer.getNamespace() );
                    mRemoteMediaPlayer = null;
            } catch( IOException e ) {
                //Log.e( TAG, "Exception while removing application " + e );
            mApplicationStarted = false;
        if( mApiClient.isConnected() )
        mApiClient = null;
    mSelectedDevice = null;
    mVideoIsLoaded = false;
We also have to remember to remove callbacks from the MediaRouter that we added during onResume.
protected void onPause() {
    if ( isFinishing() ) {
        // End media router discovery
        mMediaRouter.removeCallback( mMediaRouterCallback );
And with that, we have the base functionality for a Google Cast capable Android sender app. If the source code on GitHub doesn't make sense, or you have other questions, please comment below!

Whatsapp Messenger UI Template Android

Full Android UI kit template, This is a redesign of WhatsApp Messenger app

android ui template, android app download, whatsapp template, whatsapp ui templates, whatsapp messenger ui template andoroid


You can check out our video as well as the screenshots, those will certainly create a great impression of what you’ll get!

We do not provide a demo APK since this would be sensible for fraud

Download Project


It’s a full android project,designed using xml and all data used in it are loaded from res/values/strings.xml and it is ready to intgrate with your server 

Recover MySQL root Password

You can recover MySQL database server password with following five easy steps.
mysql db server, mysql, recover mysql db server, recover mysql root password

 Here are commands you need to type for each step (login as the root user):

Step # 1 : Stop mysql service

/etc/init.d/mysql stop
Stopping MySQL database server: mysqld.

Step # 2: Start to MySQL server w/o password:

mysqld_safe --skip-grant-tables &
[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

Step # 3: Connect to mysql server using mysql client:

mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Step # 4: Setup new MySQL root user password

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

Step # 5: Stop MySQL Server:

/etc/init.d/mysql stop
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/
mysqld_safe[6186]: ended
[1]+ Done mysqld_safe --skip-grant-tables

Step # 6: Start MySQL server and test it

/etc/init.d/mysql start
mysql -u root -p

9/11 attack was fake ?

This post is out of box for my blog. But you should need to know reality. Thats why i posted it.
9/11 was totally lie proved by Rajiv Dixit and scientists have accepted all evidence given by him In this video Rajiv dixit also has exposed Dr Manmohan Singh and how this man working for only America.

Part - 1

This is one of the great exposes by Rajiv Dixit in which he gives the real perspective of the wars that go on in the world and how America plays the devilish cunning role in bringing them about. Rajiv ji exposes the War Economy of America and goes on to suggest some ingenious ways of guarding our national interests in this scenario.

Part - 2

His claims include:

  1. Not a single plane was involved in the collapse of the twin towers. These were purely doctored pictures (Trick photography.) People walking about at that time are amazed that claims of planes hitting them are being cited. The planes alleged to have been hijacked are all sitting right where they should: in various hangars.
  2. The towers were brought down by 880 bombs strategically planted, plus one "master bomb".
  3. Explosions started even when the plane (yes, the doctored photo) was 500 meters away from the building.
  4. All Americans who worked in 9/11 were given a holiday and asked not to come to work on 9/11. Only 3000 NON-Americans died. Not a single American citizen (but then he does talk about discrepancies in insurance payouts to Americans/non-Americans).
  5. "American" sold these towers to Arabs a few days before the incident. The towers were then insured by Japanese, who were given the huge bill for this massive destruction. Just like they were given the Hiroshima bomb. (Japanese happily paid off insurance claims to this building?).
  6. Building 7 was destroyed in the evening, and its owner told people he was paid off by George Bush.
  7. Bush and Osama Bin Laden had 51 per cent and 49 per cent ownership of Eurocol company, with Bush's mother Barbara Bush as key adviser. They jointly planned 9/11 to give them an excuse to occupy Afghanistan in order that they could exploit the natural gas resources of Afghanistan.
I loved to hear what you thought now on 9/11 attack. Was it real ?
Please comment me your view......

Naming Android: What Comes After Marshmallow

Bottom line, Android probably wouldn’t have risen to today’s popularity heights sans its yummy codenames, so as we near the year’s end and product releases and major, interest stories get pushed back until January, I’d like to take the liberty of publishing a fluff piece. For once.

Some may even call the following lines silly. But hey, I’d take silly over edgy, tense and uber-somber any time and I hope you can allow yourselves to do the same at least so close to “the season to be jolly”. Thus, not expecting anyone to take them too seriously, here are my predictions for Android’s future codenames:


Too many choices. And all so delicious. Besides, with Key Lime Pie out of the mix, the doors are wide open for a different kind of pie in the future. Will it be lemon meringue? It’s possible, but here’s a wild theory.

What if Google were to extend its collaboration with Nestlé and go for another of their products immediately after KitKat? How does Android 5.0 Lion Bar sound? Arguably not great, but what better way to let Apple know you mean business than partner up with the king of the jungle? Hopefully, Tim Cook & co. are yet to patent the word “lion” following their dubbing of a Mac OS release that way.


Android Muffin has a fantastic ring to it, but my final choice is Milkshake. Can you picture it? Big press conference at Google’s headquarters, fireworks, blinding lights, smoke, and out comes Kelis singing “My Android brings all the boys to the yard/And they’re like/It’s better than yours (Apple)/ Damn right it’s better than yours/I can teach you/But I have to charge”.


Another tough choice, but for all the wrong reasons. Nougat is nasty and bad for your teeth, nectarines are, well, fruits, so not real desserts, “noodle” is too vague a term, and Nutella… wait a minute, Nutella’s good. Right, so Android 6.0 Nutella? I’m sold.
Android Nutella


No contest. Oreos are simply the best. But should Android taste more like the cream part or the cookie?


Let’s rule the fruits out again right off the bat, the pancake and peanut butter as well (too basic for the year 2020, when Android 8.0 will power robots and drones), and stick with pies, peppermint and popsicle. Popsicle after ice cream sandwich? Not likely, and if Lemon Meringue Pie ends up designating 5.0, peppermint is all we have left.
Android Peppermint


Q ain’t a real letter and quiche ain’t a real dessert, so talk about a match made in heaven.


Pie again? Rice pudding, or the “healthy” (read: lame) alternative to ice cream? Hell no, so we’re stuck with rocky road, despite being similar to ice cream sandwich.


After years of harmonious cooperation between Google and Nestlé, Apple, now inches close to bankruptcy, gets desperate and asks the world-renowned food and beverage producer to join Cupertino in an attempt to snatch away Android’s gold crown. Big G retaliates, partners with Mars and launches Android 10.0 Snickers. The year is 2030 and, as always, Snickers trumps Kit Kat. I mean, it has nougat, caramel, milk chocolate and peanuts.
Android Snickers


Golden Sponge Cake with Creamy Filling. That’s how a twinkie is marketed. Enough said.


What’s better than cake? Upside down cake, where you chop fruits and add butter and sugar on the bottom of the pan before pouring in the batter, then bake the thing and turn it over to reveal the decorative topping, all yummy, juicy and scrumptious. Mom, I’m hungry!
Android Upside Down


The buzz-building possibilities are endless here, as long as Tom Cruise, Penelope Cruz and Cameron Diaz keep their looks beyond their sixties. Or maybe someone will clone a younger version of Vanilla Ice to bust a move at the rollout of Android 11.3 Vanilla Pudding. Ice ice baby!
Android Vanilla


Look, I hate fruits as much as the next overweight guy that likes to dip his chocolate bars in chocolate, but if robots don’t take over the world and global warming and trans fats don’t kill us, Google may not have much of a choice and be forced to go with Android Watermelon. I mean, Android Waffle? That sounds almost as horrible as Android Éclair.

X – XANTHAN GUM, XYLOCARP, XIGUA(Chinese for watermelon)

So yeah, I got nothing.


Yogurt is gay (not in that sense), yellow cake would be such an easy target for puns, so Yoo-hoo it is. And yes, I know, technically, it’s a beverage, not a dessert. But have you any idea how fat you can get from only drinking Yoo-hoos? That makes it qualify as a food in my book.
Android YooHoo


Pop quiz. Without Googling it first, what exactly is a zabaglione? Don’t know? Then it’s safe to rule it out, unless the Italians somehow take over the world. Zebra cake? Zebra brownie? Both sound ridiculous, so let’s wrap it up by reminding you this was all just a silly game. You don’t really think we’ll live to catch the day Android Z sees daylight, do you? Not if we keep talking about sweets, we won’t.

Create Preview and Manage Boot Animations in Android

Boot animations are one of the first things that you see after turning on your device. They are in fact just a set of images in the specified PNG format, but they make a ROM seem unique. Sometimes, they are even our favorite part of a particular project.

If you are an intermediate Android power user, it’s relatively easy for you to create a boot animation, but you need to have the right tools to do it without editing files manually. It’s a long process and why to choose the manual way when there are plenty of more optimized methods?

Boot Animation Factory is the best solution for creating, previewing and managing Android boot animations. It's a product of many hours of work, and has lived up to this date as the best of its class.
Use Pre-build Best Pre-build Bootanimation Collections For Android

Key features:

  • Preview zipped boot animations (their actual format)
  • Preview boot animations from folder
  • Preview boot animation from phone (can save the boot animation to your computer)
  • Preview boot sound from phone
  • Create boot animations
  • Flip and rotate boot animations NEW!!
  • Export boot animations as GIF animations
  • Flash boot animations to phone
  • Flash boot sounds to phone
  • Explore boot animations
  • Favorites list of boot animations
  • Slick, easy-to-use user interface (can be themed)
  • Automatic update check option
  • Extended preview info (can be toggled in Settings)
  • No limitatins of any kind!
Apply your changes : Best ways of Change Your Android Boot Animation

System requirements:

  • Windows XP SP3 or later (Windows 7 is recommended)
  • Microsoft.NET Framework 4 or later (Client Profile is also needed)
                    Download                                    Changelog    

How to use Boot Animation Factory

How to create boot animations using Boot Animation Factory
See full step by step image :

  1. Go to Menu/Boot animation/New...
  2. Click 'Choose folder' and select the folder in which your 'part' folders are.
  3. Click 'Add loop' to add a loop. You can add as many loops as you want.
  4. When you finish adding loops, click 'Save boot animation' and save your boot animation somewhere on your computer.
How to preview boot animations using Boot Animation Factory

Preview zipped boot animations

  1. Go to Menu/Boot animation/Preview...
  2. When the dialog appears, tick the first radio button (.zip file) and click OK.
  3. Click 'Choose boot animation' and choose the boot animation you want to preview.
  4. Optional: you have some options here, like playing a boot sound, setting custom speed, using custom size, or repeating/not repeating a boot animation. Set the properties as you wish.
  5. Click 'Preview boot animation' and enjoy the preview!

Previewing boot animations from folder

  1. Go to Menu/Boot animation/Preview...
  2. Tick the second radio button (Folders) and click OK
  3. Click 'Choose folder' and choose the folder which contains your 'part' folders.
  4. Click 'Add loop' to add a loop. You can add as many loops as you want.
  5. Optional: you can play a boot sound, repeat/not repeat the animation or use custom sizes. Set those properties as you wish.
  6. When you are done adding loops, click 'Preview boot animation' and enjoy the preview!

Previewing boot animation from device

  1. Go to Menu/Boot animation/Preview...
  2. Tick the third radio button (Phone) and click OK.
  3. In the first combo box, select (or type) where your boot animation is located on your device.
  4. In the second combo box, select (or type) the name of your boot animation
  5. If you want to preview the boot sound along with the animation, tick the 'Get boot sound' check box and set the destination and name of the boot sound in your device file system.
  6. Click 'Get animation' and wait for Boot Animation Factory to get the boot aniamtion and boot sound from your device. Optional: check whether you want Boot Animation Factory to wait for your device or not.
  7. Click 'Preview boot animation' and enjoy the preview!

How to flash boot animations to your phone using Boot Animation Factory

  1. Go to Menu/Boot animation/Flash to phone...
  2. Click 'Choose boot animation' and choose the boot animation you want to flash.
  3. In the first combo box, select (or type) where the boot animation should be flashed on your phone.
  4. In the second combo box, select (or type) the name of your boot animation.
  5. If you want to flash a boot sound, click 'Choose boot sound' and choose the boot sound you want to flash to your phone. Then select the destination and the name of your boot sound in your device file system.
  6. Check whether you want Boot Animation Factory to wait for device and reboot after flashing or not.
  7. Click 'Flash to phone' to flash your boot animation.

How to explore a boot animation using Boot Animation Factory

  1. Go to Menu/Boot animation/Explore...
  2. Choose your boot animation and explore your boot animation. Optional: you can export any frame and the desc.txt file from the animation by right-clicking on the file and then clicking 'Save desc.txt file/frame as...'.

Best Bootanimation Collections For Android

I realised most people find it very difficult to put boot animations onto their device. With the intention not knowing that it will replace their old boot animation.

They can even find to set the right permission to get it to work.

Make own BootAnimation for Android
Best ways of Change Your Android Boot Animation 


  • Rooted Phone
  • AOSP ROM [CM, PA, BP, SL e.t.c] Or any ROM with CM Theme Engine Support.


  • Download and Install
  • Apply goto Themes->Bootanimation

Best ways of Change Your Android Boot Animation

Some Collection of Bootanimations

Android 6.0 Marshmallow
Download Link Android 6.0 Marshmallow

One Plus 2
Download Link One Plus 2

Android Wear
Download Link Android Wear
Watch Dogs by AtrX
Download Link Watch Dogs 2.0
Paranoid Android Official
Download Link Official PA
Download Link OPO.bootanimation
Download Link omniROM.bootanimation
Android 5.0 Lollipop
Download Link Android 5.0 Lollipop
Paranoid Android Slick Custom Bootanimation
Download Link        With Text                     Without Text
Oxygen OS Custom Bootanimation
Download Link             With Text                          Without Text
If you like share and if any suggestion or queries comment me below.