Make Custom Android Launcher

Image
There are thousands of Android Launcher available in Play Store. Each and every Android mobile user loves to customize their mobile with different Android Launcher. If you want to develop your own launcher, this post helps you to fulfill your wish. In this post, you will find a demo launcher with layout and code which include many features like Drag & Drop , rearrange the installed application, change the background wallpaper etc. Here is an example of demo launcher which display all the installed applications in 3*3 Grid View format compatible to all devices. First of all we need to find all the installed applications from device so we should implement a subclass of AsyncTaskLoader that loads the currently installed applications from the package manager. If you want to display all the installed applications in  List View you can use official Android Developer reference .

Layouts for Fragment

Fragments are use to develop dynamic and flexible or consistent User Interface(UI) design that can be supported by all screen sizes from small to large. In short, we can build Multi-pane UI using Fragments. We can divide the Activities into different reusable components which are known as Fragments. Fragments can be reused within multiple activities. Each Fragment has its own lifecycle and Layout and they are independent to each other that are embedded into an Activity. There are two class, Fragment and FragmentActivity that must be extended by the subclass of it. To know more about Fragment VS FragmentActivity. We can define a static or dynamic layout using Fragment.

To Define a Static Layout

In this case, you need to use the fragment placeholder instead of FrameLayout in your MainActivity layout file, like this:
<RelativeLayout>

         <fragment
             android:id="@+id/Fragment_A"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignParentLeft="true"
             android:layout_alignParentTop="true"
             android:layout_marginTop="26dp"
             class="com.pkg.Fragment_A" ></fragment>

          <fragment
             android:id="@+id/Fragment_B"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignParentBottom="true"
             android:layout_centerHorizontal="true"
             android:layout_marginBottom="113dp"
             class="com.pkg.Fragment_A" ></fragment>

</RelativeLayout>
You can use this approach, when you have different static layout files for different device configuration.

To Define a Dynamic Layout

In this case, you can add, remove or replace Fragments at run-time using FragmentManager. You can use the FrameLayout placeholder instead of fragment in your layout file or use container views to place the Fragments.
<RelativeLayout>

         <FrameLayout
             android:id="@+id/container_A"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignParentLeft="true"
             android:layout_alignParentTop="true"
             android:layout_marginTop="26dp"
             class="com.pkg.Fragment_A" ></FrameLayout>

          <FrameLayout
             android:id="@+id/container_B"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignParentBottom="true"
             android:layout_centerHorizontal="true"
             android:layout_marginBottom="113dp" ></FrameLayout>

</RelativeLayout>

Comments

Popular posts from this blog

Make Custom Android Launcher