How to create Meow Bottom Navigation By Visibility in Android Studio #Java || #Custom Bottom_ Navigation CM Coding Lab.
#*Meow Bottom Navigation for java.*#
Step_1.
- 1.Create a new project or Open your project.
Step_2.
- 1.go to build.gradle (module:app) and add the following dependency line
- and then click on Syne Now.
build.gradle
//meow-bottom-navigation================================== implementation 'com.etebarian:meow-bottom-navigation:1.2.0'
Step_3.
1. go to >gradle.properties(Project properties) Then add the following dependency.
gradle.properties
#Must set this line=================== android.enableJetifier=true
Step_4.
1. go to > settings.gradle(Project Setting) Then add the following dependency. and Syne Now.
in settings.gradle
//==mavenCentral()==// jcenter()
Step_5.
1. right now go to your activity_main.xml and then add the following codes.
Add in XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <!--LinearLayout_1======== --> <LinearLayout android:visibility="gone" android:id="@+id/Home_icon" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/image_1" android:orientation="vertical" > <TextView android:id="@+id/button" android:text="Home" android:textStyle="bold" android:textColor="#FF5722" android:textSize="20sp" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" /> </LinearLayout> <!--LinearLayout_1======== --> <!--LinearLayout_2======== --> <LinearLayout android:visibility="gone" android:id="@+id/Search_icon" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/image_2" android:orientation="vertical" > <TextView android:text="Search" android:textStyle="bold" android:textColor="#FFEB3B" android:textSize="20sp" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" /> </LinearLayout> <!--LinearLayout_2======== --> <!--LinearLayout_3======== --> <LinearLayout android:visibility="gone" android:id="@+id/Profile_icon" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/image_3" android:orientation="vertical" > <TextView android:text="Profile" android:textStyle="bold" android:textColor="@color/teal_200" android:textSize="20sp" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" /> </LinearLayout> <!--LinearLayout_3======== --> <!-- MeowBottomNavigation start--> <com.etebarian.meowbottomnavigation.MeowBottomNavigation android:id="@+id/bnv_Main" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:mbn_backgroundBottomColor="@color/teal_700" app:mbn_circleColor="#ffffff" android:layout_gravity="bottom" app:mbn_countBackgroundColor="#ff6f00" app:mbn_countTextColor="#ffffff" app:mbn_defaultIconColor="#90a4ae" app:mbn_rippleColor="#2f424242" app:mbn_selectedIconColor="#3c415e" app:mbn_shadowColor="#1f212121" android:layout_alignParentBottom="true"/> <!-- MeowBottomNavigation end--> </RelativeLayout>
Step_6.
1. now go to your MainActivity and then add the following codes.
In Java
import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; import com.etebarian.meowbottomnavigation.MeowBottomNavigation; import kotlin.Unit; import kotlin.jvm.functions.Function1; public class MainActivity extends AppCompatActivity { //======================================= private MeowBottomNavigation Meow_Nav; //======================================= LinearLayout Home_icon, Search_icon,Profile_icon; //=============================================================== @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //for hiding actionber!============================ ActionBar actionBar = getSupportActionBar(); actionBar.hide(); //======================================= Meow_Nav = findViewById(R.id.bnv_Main); Meow_Nav.add(new MeowBottomNavigation.Model(1,R.drawable.baseline_home_24)); Meow_Nav.add(new MeowBottomNavigation.Model(2,R.drawable.baseline_image_search_24)); Meow_Nav.add(new MeowBottomNavigation.Model(3,R.drawable.baseline_person_24)); //=============================================================== Home_icon = findViewById(R.id.Home_icon); Search_icon = findViewById(R.id.Search_icon); Profile_icon = findViewById(R.id.Profile_icon); //=============================================================== //======================================= Meow_Nav.show(1,true); Home_icon.setVisibility(View.VISIBLE); //=setOnClickMenuListener====================================== Meow_Nav.setOnClickMenuListener(new Function1<MeowBottomNavigation.Model, Unit>(){
@Override public Unit invoke(MeowBottomNavigation.Model model) { switch (model.getId()){ //=case 1============================================================== case 1: Home_icon.setVisibility(View.VISIBLE); Search_icon.setVisibility(View.GONE); Search_icon.setVisibility(View.GONE); //Toast.makeText(MainActivity.this,"Hello! Home is Open.",Toast.LENGTH_LONG).show(); break; //=case 2============================================================== case 2: Home_icon.setVisibility(View.GONE); Search_icon.setVisibility(View.VISIBLE); Profile_icon.setVisibility(View.GONE); //Toast.makeText(MainActivity.this,"Hello! Search is Open.",Toast.LENGTH_LONG).show(); break; //=case 3============================================================== case 3: Home_icon.setVisibility(View.GONE); Search_icon.setVisibility(View.GONE); Profile_icon.setVisibility(View.VISIBLE); //Toast.makeText(MainActivity.this,"Hello! Profile is Open.",Toast.LENGTH_LONG).show(); break; //=============================================================== } return null; } }); }//======================================= }
No comments