Skip to content

soheil-mohammadi/MaterialBottomBar

Repository files navigation

MaterialBottomBar

An material android library for Beauty Bottom Bar :) It works for api +15 ;)

HOW TO USE THIS LIBRARY ?!

Add it in your root build.gradle at the end of repositories:
allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

Add the dependency :
	dependencies {
	       compile 'com.github.soheil-mohammadi:MaterialBottomBar:2.0.3'
	}

Xml :

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:id="@+id/container_activity_main"
    android:orientation="vertical"
    android:layout_height="match_parent"
    tools:context="kavoshgar1.soheil.com.materialbottombar.MainActivity">

    <TextView
        android:id="@+id/text_activity_main"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:onClick="onClick"
        android:layout_weight="1"
        android:text="Enjoy From Material Bottom Bar :) "
        android:gravity="center"
        android:textSize="17sp"
        android:textColor="@android:color/black"/>

    <kavoshgar1.soheil.com.materialbottombar.MaterialBottomBar
        android:id="@+id/material_bottom_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        />

</LinearLayout>

Review Xml File :

In the above we define a MaterialBottomBarView and a simple a TextView .

Java File :

package kavoshgar1.soheil.com.materialbottombar;

import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import Listeners.OnClickBottomItem;
import Listeners.OnClickNestedBottomItem;
import Models.NestedBottombar;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private MaterialBottomBar material_bottom_bar ;
    private LinearLayout container_activity_main ;
    private TextView text_activity_main ;

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

        material_bottom_bar = (MaterialBottomBar) findViewById(R.id.material_bottom_bar);
        container_activity_main =(LinearLayout) findViewById(R.id.container_activity_main);
        text_activity_main =(TextView) findViewById(R.id.text_activity_main);

        initMaterialBottomBar();

    }

    private void initMaterialBottomBar() {
        ArrayList<String> titles = new ArrayList<>();
        titles.add("photo");
        titles.add("support");
        titles.add("education");

        ArrayList<Bitmap> icons = new ArrayList<>();
        icons.add(BitmapFactory.decodeResource(getResources() , R.drawable.photo));
        icons.add(BitmapFactory.decodeResource(getResources() , R.drawable.support));
        icons.add(BitmapFactory.decodeResource(getResources() , R.drawable.education));


        ArrayList<Integer> colors = new ArrayList<>();
        colors.add(Color.parseColor("#64B5F6"));
        colors.add(Color.parseColor("#689F38"));
        colors.add(Color.parseColor("#EF5350"));



        final ArrayList<NestedBottombar> nestedBottombars = new ArrayList<>();
        ArrayList<Bitmap> iconsNested = new ArrayList<>();
        iconsNested.add(BitmapFactory.decodeResource(getResources() , R.drawable.telegram));
        iconsNested.add(BitmapFactory.decodeResource(getResources() , R.drawable.whatsapp));

        nestedBottombars.add(new NestedBottombar(2 , iconsNested));
        material_bottom_bar.setTitles(titles).setIcons(icons).setParentContainerRoot(container_activity_main).  setOverlayView(text_activity_main).setBackgroundColors(colors).setFirstBackgroundBottomBar(Color.parseColor("#689F38")).setNestedBottomBar(nestedBottombars, new OnClickNestedBottomItem() {
            @Override
            public void onClicked(int id) {
                switch (id) {
                    case  1 :
                        Toast.makeText(MainActivity.this , "TelegramSupport" ,Toast.LENGTH_SHORT).show();
                        break;

                    case 2 :
                        Toast.makeText(MainActivity.this , "Whatsapp Support" ,Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        }).setTextsColor(Color.WHITE).addListener(new OnClickBottomItem() {
            @Override
            public void onClicked(int id) {
                switch (id) {

                    case  1 :
                        final AlertDialog.Builder alert = new  AlertDialog.Builder (MainActivity.this);
                        alert.setTitle("Dialog Test");
                        alert.setNegativeButton("Photo Library !", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                               // material_bottom_bar.closeItem();
                                material_bottom_bar.close();
                                dialogInterface.dismiss();
                            }
                        }).show();
                        break;


                    case 2 :
                        //TODO
                        break;


                    case 3 :
                        //TODO
                        break;
                }
            }
        }).build(null);


    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {

            case  R.id.text_activity_main :
                material_bottom_bar.open();
                break;
        }
    }
}

Review Java File :

In the above we initialize TextView and MaterialBottomBar in onCretae method .


##Contact : You can send your comments for improve this library to me ;)
Email : [email protected]
Telegram : Soheil Mohammadi


Good Luck :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages