nav drawer menu

This commit is contained in:
2017-09-19 22:57:49 +03:00
parent addc63ed21
commit 91ef0b51ac
32 changed files with 1016 additions and 86 deletions

View File

@@ -5,10 +5,10 @@ import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
@@ -20,8 +20,17 @@ import butterknife.OnClick;
import ch.pizzalink.android.R;
import ch.pizzalink.android.fragment.CartFragment;
import ch.pizzalink.android.fragment.InfoFragment;
import ch.pizzalink.android.fragment.OrderFragment;
import ch.pizzalink.android.fragment.order.ChickenFragment;
import ch.pizzalink.android.fragment.order.DessertFragment;
import ch.pizzalink.android.fragment.order.DrinksFragment;
import ch.pizzalink.android.fragment.order.ExtraKebapFragment;
import ch.pizzalink.android.fragment.order.HaussFragment;
import ch.pizzalink.android.fragment.order.OwnPizzaFragment;
import ch.pizzalink.android.fragment.order.PastaFragment;
import ch.pizzalink.android.fragment.order.PizzaFragment;
import ch.pizzalink.android.fragment.ProfileFragment;
import ch.pizzalink.android.fragment.order.SalatFragment;
import ch.pizzalink.android.fragment.order.VorspeisenFragment;
import ch.pizzalink.android.view.PizzalinkToolbar;
public class MainActivity extends BaseActivity {
@@ -29,10 +38,23 @@ public class MainActivity extends BaseActivity {
@BindView(R.id.drawerLayout) DrawerLayout drawerLayout;
@BindView(R.id.pizzalinkToolbar) PizzalinkToolbar pizzalinkToolbar;
@BindView(R.id.bottomNavigationView) BottomNavigationViewEx bottomNavigationView;
@BindView(R.id.navMenuItem1) TextView navMenuItem1;
@BindView(R.id.navMenuItem2) TextView navMenuItem2;
@BindView(R.id.navMenuItem3) TextView navMenuItem3;
@BindView(R.id.navMenuItem4) TextView navMenuItem4;
@BindView(R.id.ownPizzaMenuItem) TextView ownPizzaMenuItem;
@BindView(R.id.exstraKebapMenuItem) TextView exstraKebapMenuItem;
@BindView(R.id.pizzaMenuItem) TextView pizzaMenuItem;
@BindView(R.id.vorspeisenMenuItem) TextView vorspeisenMenuItem;
@BindView(R.id.haussMenuItem) TextView haussMenuItem;
@BindView(R.id.salatMenuItem) TextView salatMenuItem;
@BindView(R.id.pastaMenuItem) TextView pastaMenuItem;
@BindView(R.id.chickenMenuItem) TextView chickenMenuItem;
@BindView(R.id.drinksMenuItem) TextView drinksMenuItem;
@BindView(R.id.drinksLayout) LinearLayout drinksLayout;
@BindView(R.id.roseDrinksMenuItem) TextView roseDrinksMenuItem;
@BindView(R.id.rotweinDrinksMenuItem) TextView rotweinDrinksMenuItem;
@BindView(R.id.spirituosenDrinksMenuItem) TextView spirituosenDrinksMenuItem;
@BindView(R.id.weissweinDrinksMenuItem) TextView weissweinDrinksMenuItem;
@BindView(R.id.beerDrinksMenuItem) TextView beerDrinksMenuItem;
@BindView(R.id.dessertMenuItem) TextView dessertMenuItem;
private FragmentManager fragmentManager;
private String currentFragmentName = "";
@@ -45,7 +67,11 @@ public class MainActivity extends BaseActivity {
initViews();
}
@OnClick({R.id.navMenuItem1, R.id.navMenuItem2, R.id.navMenuItem3, R.id.navMenuItem4})
@OnClick({R.id.ownPizzaMenuItem, R.id.exstraKebapMenuItem, R.id.pizzaMenuItem,
R.id.vorspeisenMenuItem, R.id.haussMenuItem, R.id.salatMenuItem,
R.id.pastaMenuItem, R.id.chickenMenuItem, R.id.drinksMenuItem,
R.id.roseDrinksMenuItem, R.id.rotweinDrinksMenuItem, R.id.spirituosenDrinksMenuItem,
R.id.weissweinDrinksMenuItem, R.id.beerDrinksMenuItem, R.id.dessertMenuItem})
public void onClick(View view){
selectMenuItem(view);
}
@@ -58,8 +84,8 @@ public class MainActivity extends BaseActivity {
private void showStartScreen(){
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, OrderFragment.newInstance()).commit();
currentFragmentName = OrderFragment.FRAGMENT_NAME;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PizzaFragment.newInstance()).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
}
private void initBottomNavigationView(){
@@ -75,10 +101,10 @@ public class MainActivity extends BaseActivity {
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.action_order:
if (currentFragmentName.equals(OrderFragment.FRAGMENT_NAME))
if (currentFragmentName.equals(PizzaFragment.FRAGMENT_NAME))
return true;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, OrderFragment.newInstance()).commit();
currentFragmentName = OrderFragment.FRAGMENT_NAME;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PizzaFragment.newInstance()).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
return true;
case R.id.action_cart:
@@ -111,7 +137,10 @@ public class MainActivity extends BaseActivity {
pizzalinkToolbar.getHamburgerIcon().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openNavigationDrawer();
if(drawerLayout.isDrawerOpen(GravityCompat.START))
drawerLayout.closeDrawers();
else
openNavigationDrawer();
}
});
@@ -122,19 +151,111 @@ public class MainActivity extends BaseActivity {
}
private void selectMenuItem(View view){
drawerLayout.closeDrawers();
//drawerLayout.closeDrawers();
switch (view.getId()){
case R.id.navMenuItem1:
Toast.makeText(this, "NavMenuItem1", Toast.LENGTH_SHORT).show();
case R.id.ownPizzaMenuItem:
if (currentFragmentName.equals(OwnPizzaFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, OwnPizzaFragment.newInstance()).commit();
currentFragmentName = OwnPizzaFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.navMenuItem2:
Toast.makeText(this, "NavMenuItem2", Toast.LENGTH_SHORT).show();
case R.id.exstraKebapMenuItem:
if (currentFragmentName.equals(ExtraKebapFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ExtraKebapFragment.newInstance()).commit();
currentFragmentName = ExtraKebapFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.navMenuItem3:
Toast.makeText(this, "NavMenuItem3", Toast.LENGTH_SHORT).show();
case R.id.pizzaMenuItem:
if (currentFragmentName.equals(PizzaFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PizzaFragment.newInstance()).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.navMenuItem4:
Toast.makeText(this, "NavMenuItem4", Toast.LENGTH_SHORT).show();
case R.id.vorspeisenMenuItem:
if (currentFragmentName.equals(VorspeisenFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, VorspeisenFragment.newInstance()).commit();
currentFragmentName = VorspeisenFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.haussMenuItem:
if (currentFragmentName.equals(HaussFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, HaussFragment.newInstance()).commit();
currentFragmentName = HaussFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.salatMenuItem:
if (currentFragmentName.equals(SalatFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, SalatFragment.newInstance()).commit();
currentFragmentName = SalatFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.pastaMenuItem:
if (currentFragmentName.equals(PastaFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PastaFragment.newInstance()).commit();
currentFragmentName = PastaFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.chickenMenuItem:
if (currentFragmentName.equals(ChickenFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ChickenFragment.newInstance()).commit();
currentFragmentName = ChickenFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
case R.id.drinksMenuItem:
/*
if (currentFragmentName.equals(DrinksFragment.FRAGMENT_NAME))
break;
*/
drinksLayout.setVisibility(View.VISIBLE);
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, DrinksFragment.newInstance(view.getId())).commit();
currentFragmentName = DrinksFragment.FRAGMENT_NAME;
break;
case R.id.roseDrinksMenuItem:
case R.id.rotweinDrinksMenuItem:
case R.id.spirituosenDrinksMenuItem:
case R.id.weissweinDrinksMenuItem:
case R.id.beerDrinksMenuItem:
/*
if (currentFragmentName.equals(DrinksFragment.FRAGMENT_NAME))
break;
*/
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, DrinksFragment.newInstance(view.getId())).commit();
currentFragmentName = DrinksFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
break;
case R.id.dessertMenuItem:
if (currentFragmentName.equals(DessertFragment.FRAGMENT_NAME))
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, DessertFragment.newInstance()).commit();
currentFragmentName = DessertFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
}
}