How To Make Floating Action Button (FAB) - Material Design Tutorial

14:06 83 Comments

In this tutorial, we are going to learn how to implement the Floating Action Button (a.k.a FAB) which is one of the newest component brought into android with the introduction of material design. Floating Action Button is the button which prompts the main task of your application and is not compulsory to add FAB to your app if you want to avoid the FAB you are free to do that as well, FAB as said earlier is used to access the main task of the app for example a video player app will use FAB to play the videos, Social network app will use the FAB to post status, photos etc. With all that explained let's begin the tutorial.

Prerequisites


To Demonstrate how to make the Floating Action Button, I would be using the Toolbar project I made previously, you can check the Toolbar project here. If you are already aware of building toolbar then you can directly jump into the project.

To implement the Floating Action Button (FAB) from scratch we would be building a custom drawable, it is required that you understand how drawable works in android, especially layer-list. If you are not familiar with drawables don't worry I would be explaining as much as I can.

Requirments

Android Studio 1.0.1 (Version I am using)

Icon for the FAB

That's it, noting else.


Let's Understand How the Floating Action Button (FAB) Can Be Implemented




I would be showing you two ways of building Floating Action Button.

1. Building FAB from scratch with custom drawable.

2. Building FAB from available libraries and best FAB libraries.  (Coming soon)

Using libraries is the simplest way and as you are always going to need the FAB from now on you should probably get familiar with one of the library and start implementing FAB with it. 

But sometimes when you have very specific need and you need complete control over your FAB then you have to build it from scratch.


Building Floating Action Button From Scratch with custom drawables.

So for making a custom FAB follow the steps as shown below. after you complete the following steps your result would look something like this. 



Step 1. Start android studio, create a new blank project. Now before we do anything we need to first make custom circle shape drawable. to do that, go to  res ->  drawable right-click and create a new drawable resource and name it circle.xml. Now in the newly created file add the following code.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:top="8px">
        <layer-list>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#08000000"/>
                    <padding
                        android:bottom="3px"
                        android:left="3px"
                        android:right="3px"
                        android:top="3px"
                        />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#09000000"/>
                    <padding
                        android:bottom="2px"
                        android:left="2px"
                        android:right="2px"
                        android:top="2px"
                        />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#10000000"/>
                    <padding
                        android:bottom="2px"
                        android:left="2px"
                        android:right="2px"
                        android:top="2px"
                        />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#11000000"/>
                    <padding
                        android:bottom="1px"
                        android:left="1px"
                        android:right="1px"
                        android:top="1px"
                        />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#12000000"/>
                    <padding
                        android:bottom="1px"
                        android:left="1px"
                        android:right="1px"
                        android:top="1px"
                        />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#13000000"/>
                    <padding
                        android:bottom="1px"
                        android:left="1px"
                        android:right="1px"
                        android:top="1px"
                        />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#14000000"/>
                    <padding
                        android:bottom="1px"
                        android:left="1px"
                        android:right="1px"
                        android:top="1px"
                        />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">
                    <solid android:color="#15000000"/>
                    <padding
                        android:bottom="1px"
                        android:left="1px"
                        android:right="1px"
                        android:top="1px"
                        />
                </shape>
            </item>

        </layer-list>
    </item>

    <item >

        <ripple xmlns:android="http://schemas.android.com/apk/res/android"
            android:color="?android:colorControlHighlight">
            <item android:id="@android:id/mask">
                <shape android:shape="oval">
                    <solid android:color="#FFBB00" />
                </shape>
            </item>
            <item>
                <shape android:shape="oval">

                    <solid android:color="@color/ColorPrimary" />


                </shape>
            </item>
        </ripple>

    </item>


</layer-list>

Now what we have done in the above xml drawable is we have created structure like this.

<layer-list>
      <Item>
                <layer-list>
                 
                 <item> (Layer of shadow)
                 <item>
                 <item>
                 <item>
                   .....
                </layer-list>
       </Item>
       
         <Item>
         
                 <shape> (Oval shape)
                 </shape>

       </Item>

<layer-list>






we have created the drawable by defining layers the root layer consists of 2 items

1. layers of shadows
2. circular shape;

You must notice that the circular shape is enclosed in a ripple tag this tag ensures the circle reacts to on touch with the ripple effect on lollipop devices.

Now if you set the circle.xml as background of any view it will form a cirlce. we are going to use this circle as background to image-button view.

Step 2. Now go to res -> layout right-click and select create a new layout resource, name it tool_bar.xml and the add the following code to that file. (Everything about toolbar is explained in my previous posts )

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:elevation="2dp"
    android:theme="@style/Base.ThemeOverlay.AppCompat.Dark"
    android:background="@color/ColorPrimary"
    xmlns:android="http://schemas.android.com/apk/res/android" />

Step 3. Now go to res -> values create a new resource file name it colors.xml and add the following code.
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="ColorPrimary">#FF5722</color>
    <color name="ColorPrimaryDark">#E64A19</color>
</resources>

Everything about colors is explained in previous posts, make sure you go through it if you dont understand.

Step 4. Now go to activity_main.xml and add the following code to it. also make sure you add the icon which you want to show inside your FAB to your project. I have downloaded the icon from www.icons4android.com and named it ic_action, and added it to the drawables folder of the project
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <include
        android:id="@+id/toolbar"
        layout="@layout/tool_bar"

        ></include>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:id="@+id/frameLayout">

        <TextView
            android:id="@+id/TextAct1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:layout_gravity="center"
            android:text="This is the first Activity, Say Hi"
            android:textSize="25dp" />

        <ImageButton
            android:layout_margin="15dp"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:src="@drawable/ic_action"
            android:background="@drawable/circle"
            android:id="@+id/imageButton"
            android:layout_gravity="right|bottom" />


    </FrameLayout>
</RelativeLayout>

The structure of activiy_main.xml is pretty self explanatory. There is a FrameLayout inside a RelativeLayout, also inside the frame layout I have added a Text View and an ImageButton. Notice that the background of imageButton is set to "@drawable/circle", width and height of the imageButton is same to make it form into a circle and src of imageButton is set to "@drawable/ic_action" which the icon I have downloaded and added to my project.

Step 5. Now go to your MainActivity.java and add the following code to it.

package com.example.hp1.floatingactionbuttonfab;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {

    Toolbar toolbar;
    ImageButton FAB;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FAB = (ImageButton) findViewById(R.id.imageButton);
        FAB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                
                Toast.makeText(MainActivity.this,"Hello Worl",Toast.LENGTH_SHORT).show();
                

            }
        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}




So If you run your app at this stage you would get something like this.



Pretty good, When you click on the FAB a toast message appears saying "Hello World". But we want some action to be performed when the user clicks the Floating Action Button, just to keep the tutorial simple I am going to start a new activity when the FAB is clicked. So let's start with that now.

Step 6. Go to java -> [package-name]  right-click and select new -> activity -> blank activity give your activity name as SecondActivity and layout name as activity_second.xml. now go to activity_second.xml and add the following code to it.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >


    <include
        android:id="@+id/toolbar"
        layout="@layout/tool_bar"

        ></include>

    <LinearLayout
        android:layout_below="@id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:layout_marginTop="10dp"
            android:textColor="#000000"
            android:textSize="25dp"
            android:layout_width="242dp"
            android:layout_height="wrap_content"
            android:text="Enter Your Details"
            android:id="@+id/details"
            android:layout_gravity="center_horizontal" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="Name"
            android:layout_marginLeft="100dp"
            android:id="@+id/Name"
           android:textSize="20dp"
             />

        <EditText
            android:layout_marginLeft="100dp"

            android:layout_marginTop="5dp"
        android:layout_height="25dp"
            android:layout_width="150dp"
        android:id="@+id/editname" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="Address"
            android:layout_marginLeft="100dp"
            android:id="@+id/Address"
            android:textSize="20dp"
            />

        <EditText
            android:layout_marginLeft="100dp"

            android:layout_marginTop="5dp"
            android:layout_height="25dp"
            android:layout_width="150dp"
            android:id="@+id/editadd" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="Phone "
            android:layout_marginLeft="100dp"
            android:id="@+id/phone"
            android:textSize="20dp"
            />

        <EditText
            android:layout_marginLeft="100dp"

            android:layout_marginTop="5dp"
            android:layout_height="25dp"
            android:layout_width="150dp"
            android:id="@+id/editphone" />

        <Button
            android:layout_marginLeft="130dp"
            android:layout_marginTop="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Save"
            android:id="@+id/save" />

    </LinearLayout>
</RelativeLayout>

Now for the purose of the tutorial I have added some random text and edit boxes to the second activity. I have also included a toolbar in this activity as well

Step 7. Go to SecondActivity.java and add the following code to it.
package com.example.hp1.floatingactionbuttonfab;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;


public class SecondActivity extends ActionBarActivity {

    Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_second, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
Nothing much happening here, just initializing the toolbar for the second activity.

Step 8. Now just go to the MainActivity and replace the Code where we made the toast saying "hello world" on click of Floating Action button to the code as shown below.
 

package com.example.hp1.floatingactionbuttonfab;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageButton;


public class MainActivity extends ActionBarActivity {

    Toolbar toolbar;
    ImageButton FAB;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FAB = (ImageButton) findViewById(R.id.imageButton);
        FAB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent i = new Intent(MainActivity.this,SecondActivity.class);
                startActivity(i);



            }
        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}


As you can see we have added a intetnt to start the new activity, now when you run the app you would get results as you had seen at the start of this tutorial



Thats it, Thats how you implement the FAB with custom drwable.  In the next post I would be providing you with the best Floating Action Button ( FAB ) libraries which you could use in your next project also I have recieved requests from visitors asking for the downloadable projects so starting from this tutorial I am also providing you with downloadable project. if you like this post please comment, subscribe and share

To Download The Project - Click Here


Akash bangad

Computer Engineer from Maharashtra,India. Trying to make my way in the world of mobile development. Steve Jobs admirer and techy at heart.

83 comments:

  1. You're so much awesome, all I know about Android was reading you, thank you!! You can do a cardview/restful tutorial? I read that but can't learn yet. So much thank you.

    PD: Sorry by my english, I from Venezuela :)

    ReplyDelete
  2. It says cannot reslove symbol FAB how can I fix it?

    ReplyDelete
    Replies
    1. You have to defined FAB with ImageButton:)

      Delete
  3. Good article and the author using the different information in this post but it is not boring. They did not use worthless information and also use the good language. I wrote the article with the help of a custom essay writing service . I will share this link to my friends. I got different information from this post.

    ReplyDelete
  4. ive followed you code and the fab is working properly.
    bt the problem comes in when i try to use the fab and the sliding navigation drawer together... cant they exist together or is it me making a mistake..?

    ReplyDelete
    Replies
    1. App is installed in my android mobile but it says unfortunately fab(my project name)has stopped working

      Delete
  5. Button and its click events in android
    http://themasterworld.com/android-button-help-to-create-button/

    ReplyDelete
  6. Thank you for publishing this technical tutorial. Now most of the developers can easily make floating action button. Keep sharing this type of informative post, it will help the developers.
    event management apps firm

    ReplyDelete
  7. do yo know how to create a FAB and when you tap that FAB it displays other FAB with more actions? Like on Hangouts 4.0?

    ReplyDelete
  8. Helpful tutorial to implement or make awesome floating menu in android app using android studio.

    ReplyDelete
  9. If you're looking for a simpler floating action button example with source code to download then visit http://www.ahotbrew.com/android-floating-action-button/

    ReplyDelete
  10. Gave me error on line , setSupportActionBar(toolbar);

    But still worked for me after adding following code in same class , ,

    public void setSupportActionBar(Toolbar supportActionBar) {
    this.supportActionBar = supportActionBar;
    }

    ReplyDelete
  11. How can i add a menu with this floating button?

    ReplyDelete
  12. How can i add a menu with this floating button?

    ReplyDelete
  13. This comment has been removed by the author.

    ReplyDelete
  14. Your phone is a basic hardware device that requires the right applications to accentuate its performance and provide you variable features. It is worthless without the amazing applications that hit the market with alacrity. These applications are beneficial because they help in realizing every other need than making simple calls. So you can download an office assistant feature and it will provide you the schedule for important meetings or you could download your favorite racing car game and enjoy it while on your way to office. appnana apk hack

    ReplyDelete
  15. Unbelieveable that this text is nr 1 on Google, although it is completely off topic. There is a class for that :
    > android.support.design.widget.FloatingActionButton
    Use it.
    Stop hacking stuff, that has already been given to society
    What you are doing is just creating an Imagebutton very complicated that LOOKS like an Android FAB.

    ReplyDelete
  16. Actually didn't work for me at all. And I couldn't figure out how to make it work after hours of trying. I'm not developing a Lollipop app and this is Lollipop dependent. Thanks, but this didn't help me any. And -1 point for using xml drawables.

    ReplyDelete
  17. Actually didn't work for me at all. And I couldn't figure out how to make it work after hours of trying. I'm not developing a Lollipop app and this is Lollipop dependent. Thanks, but this didn't help me any. And -1 point for using xml drawables.

    ReplyDelete
  18. Good article! We will be linking to this particularly great article on our site. Keep up the great writing.
    شركات نقل العفش بجدة
    Prokr.com
    نقل عفش بمكة
    Albyaan.com
    شركات نقل عفش
    Prokr.org
    نقل العفش بجدة والمنطقة الغربية
    Shoala.net

    ReplyDelete
  19. Great post! I was just looking for this information! The given information is very understandable! Keep posting your articles! Essay Writer

    ReplyDelete
  20. You'll only get the up-dates from the people who you are following and the particular person won't receive any update of yours. ordering facebook followers

    ReplyDelete
  21. احصلوا على خدمات صيانه متنوعه من خلال مركز صيانة كاريير المتخصص في صيانة جميع الاجهزه الكهربائية , لمزيد من المعلومات زوروا موقعنا الان .
    http://carriermaintenance.com/

    ReplyDelete
  22. احصلوا على العديد من الخدمات من خلال شركة تنظيف خزانات بمكة التى تقوم بتنظيف الخزانات بأقل التكاليف . ادخلوا على هذا الرابط .

    0555705619

    http://www.el3nod.com/1/company-tanks-isolation-cleaning-mecca

    ReplyDelete
  23. يوجد العديد من الخدمات داخل شركة تخزين اثاث بالرياض التى توفرها لكم مؤسسة العنود , لمزيد من المعلومات زوروا موقعنا الان .


    0550074416

    http://goo.gl/0qdD5Q

    ReplyDelete
  24. I would like more information about this, because it is very nice., Thanks for sharing.
    Signature:
    happy wheels
    friv
    girlsgogames
    games2girls
    happy wheels

    ReplyDelete
  25. Hi! Thank you for the very interesting tutorial! One question regarding the button: looks like the background of the button is drawn over and over again every time you reload the activity. Could you kindly check whether you have same problem? Thanks a lot again! Dana

    ReplyDelete
  26. It provides a clear idea about the Floating Action Button and how to use this button in material design. My recently published article in best essay writing service discusses the newly added features in Android.

    ReplyDelete
  27. Thanks for the best was very useful for me.keep sharing such ideas in the future as well. Thanks for giving me the useful information. I think I need it!
    Happy Wheels , FNAF World , Five Nights At Freddy's

    ReplyDelete
  28. I blog frequently and I really appreciate your information. This great article has truly peaked my interest.

    http://prokr.com/furniture-moving-company-dammam/

    shoala.net/

    ReplyDelete
  29. Everything is very open with a clear description of the challenges. It was really informative.

    http://prokr.com/pesticides-spray-anti-insect-company-dammam/


    http://shoala.net/

    ReplyDelete
  30. This app is great it gives you those moments of relaxation and incredibly wonderful
    age of war 2 | tank trouble | gold miner | tank trouble 3
    Just wanted to tell you keep up the fantastic work!my weblog:
    age of war 3 | earn to die 1 | earn to die 2

    ReplyDelete
  31. fragment design and Dai Ando Mohair Sweaters Harness the Punk Rock Spirit buy urgent essays

    ReplyDelete
  32. This comment has been removed by a blog administrator.

    ReplyDelete
  33. This comment has been removed by a blog administrator.

    ReplyDelete
  34. I blog frequently and I really appreciate your information. This great article has truly peaked my interest.

    http://fordaws.com/



    https://prokr.com/blog/

    ReplyDelete
  35. This comment has been removed by the author.

    ReplyDelete
  36. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Great work : contact form | snapchat emoji

    ReplyDelete
  37. Welcomes to google terminal keep sharing such ideas in the future as well.
    google snake this was actually EARN TO DIE
    what i was looking for,and i am glad to came here! AGE OF WAR 2
    Hi! I’ve been reading your blog for a while HAPPY WHEELS
    I want you to thank for your time of this wonderful read!!! Slitherio
    Amazing insight you have on this, Slither io This article always blew me BIG FARM
    hotmail sign in | hotmail login
    sign in to hotmail | log in to hotmail

    ReplyDelete
  38. Thank you for sharing valuable information. Nice post. I enjoyed reading this post.

    monkey go happy | mahjong online| superfighters 2 |yahtzee with buddies

    ReplyDelete
  39. Great piece of information! Thanks a lot for sharing it! assignment helper

    ReplyDelete
  40. how to increase the size of icon inside floating action button ????????
    I'm trying to put plus icon inside floating action button. I have tried with 48dp, 72dp, 96dp icons, but still the icon is looking too small.

    ReplyDelete
  41. I blog frequently and I really appreciate your information. This great article has truly peaked my interest
    http://el-tamimi.com/lawyer-number/
    http://el-tamimi.com/best-lawyer/
    http://el-tamimi.com/divorce-lawyer/


















    ReplyDelete
  42. Thanks for the best blog.it was very useful for me.keep sharing such ideas in the future as well.this was actually what i was looking for,and i am glad to came here!
    five nights at freddy's 3 | five nights at freddy's 2 | fireboy and watergirl 3 | 2048 game online | duck life 3 | fireboy and watergirl 6

    ReplyDelete
  43. To join the free games you go here. It will have a lot of great games for you that
    gun mayhem 2 | can your pet
    happy wheels |learn to fly 2
    tank trouble 2

    ReplyDelete
  44. Great article. Thanks for sharing such a informative post.

    php training in chennai

    ReplyDelete
  45. Thank you for such a sweet tutorial - all this time later, I've found it and love the end result. I appreciate the time you spent sharing your skills.
    cookie clicker | dream league soccer | crossword puzzles | dream league soccer | crossword puzzles game | dream league soccer apk | cookie clicker

    ReplyDelete
  46. This blog is so nice to me. I will continue to come here again and again. Visit my link as well. Good luck
    obat aborsi
    cara menggugurkan kandungan
    obat telat datang bulan
    obat penggugur kandungan

    ReplyDelete
  47. Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.

    Discover our website bounty of free online games now!
    Our website has the biggest collection of free online games. Totally new games are added every day!

    age of war 2| gold Miner 2| unfair Mario 2 | cubefield 2 |tanki Online 2

    ReplyDelete
  48. Life becomes more interesting and wonderful when you share your memorable moments with friends and family through unique photographs. You can create your own unique style impressed with image editing software. And after hours of work stress you can also

    tank trouble, tank trouble 2, tank trouble games, tank trouble

    ReplyDelete
  49. Thanks I have read your article, it is very interesting and exciting
    download go launcher, go launcher apk, go launcher , go launcher androi,

    ReplyDelete
  50. Mostly people have all the same things when they are writing academic task or any other writing, especially light music most people like during the writing.

    subway surf , baixar subway surf, subway surf download , download subway surf

    ReplyDelete
  51. You need to have time to take care of the active. It in fact was a amusement account it. Look advanced to far added agreeable from you.

    baixar banana kong , banana kong , download banana kong , banana kong download , banana kong , banana kong

    ReplyDelete
  52. Mostly people have all the same things when they are writing academic task or any other writing, especially light music most people like during the writing.
    dream league soccer download , dream league soccer apk , download dream league soccer , dream league soccer

    ReplyDelete
  53. Life becomes more interesting and wonderful when you share your memorable moments with friends and family through unique photographs. You can create your own unique style impressed with image editing software. And after hours of work stress you can also
    dr driving, dr driving baixar ,download dr driving, dr driving

    ReplyDelete
  54. Create short url موقع اختصار الروابط
    paste your long url below to shorten. Enter one or more long urls below. Short Url Domain: Agree with our terms. create url
    Create short url موقع اختصار الروابط http://www.3nwan.net/vb
    http://www.sheikhmaghreb.com/

    ReplyDelete
  55. E-mail with many attractive features and convenience are the choice of most people around the world open. And I want to share to everyone a free webmail services
    outlook entrar , entrar no outlook , entrar outlook

    ReplyDelete
  56. I have been searching out for this similar kind of post for past a week and hardly came across this. Thank you very much and will look for more postings from you. I like play game five nights at freddy’s 4, game word cookies game , game word cookies answers , hotmail sign in and hotmail login, and u? I hope people visit my website.

    ReplyDelete
  57. The blog or and best that is extremely useful to keep I can share the ideas of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    animal jam | five nights at freddy's | hotmail login

    ReplyDelete
  58. I like your all post. You have done really good work. Thank you for the information you provide, it helped me a lot. I hope to have many more entries or so from you.
    wings.io l wingsio l wings io l wingsio game l play wingsio

    ReplyDelete
  59. It's the choice of anybody whom you might be following to give the authorization to followers, so that you can comment as well as like on the activities made by them. It all entirely depends on the particular person. buy followers for facebook

    ReplyDelete
  60. The blog or and best that is extremely useful to keep I can share the ideas of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    animal jam | five nights at freddy's | hotmail login

    ReplyDelete