navigation drawer

This commit is contained in:
2017-10-02 23:54:32 +03:00
parent 9f9274acf5
commit cb01677e2b
8 changed files with 399 additions and 43 deletions

View File

@@ -6,6 +6,9 @@ import android.support.v4.app.FragmentManager;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
@@ -13,13 +16,17 @@ import android.widget.TextView;
import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import ch.pizzalink.android.R;
import ch.pizzalink.android.adapter.recycler.NavigationMenuRecyclerAdapter;
import ch.pizzalink.android.fragment.CartFragment;
import ch.pizzalink.android.fragment.InfoFragment;
import ch.pizzalink.android.fragment.HistoryFragment;
import ch.pizzalink.android.fragment.MenuFragment;
import ch.pizzalink.android.fragment.order.ChickenFragment;
import ch.pizzalink.android.fragment.order.DessertFragment;
import ch.pizzalink.android.fragment.order.DrinksFragment;
@@ -31,33 +38,22 @@ 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.helper.SharedPrefsHelper;
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
import ch.pizzalink.android.model.CategoryModel;
import ch.pizzalink.android.view.PizzalinkToolbar;
public class MainActivity extends BaseActivity {
@BindView(R.id.drawerLayout) DrawerLayout drawerLayout;
@BindView(R.id.navigationMenuRecyclerView) RecyclerView navigationMenuRecyclerView;
@BindView(R.id.pizzalinkToolbar) PizzalinkToolbar pizzalinkToolbar;
@BindView(R.id.bottomNavigationView) BottomNavigationViewEx bottomNavigationView;
@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 = "";
private ArrayList<CategoryModel> categoryList = new ArrayList<>();
private NavigationMenuRecyclerAdapter navigationMenuRecyclerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -67,24 +63,16 @@ public class MainActivity extends BaseActivity {
initViews();
}
@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);
}
private void initViews(){
initNavigationDrawer();
initBottomNavigationView();
showStartScreen();
initNavigationDrawer();
}
private void showStartScreen(){
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PizzaFragment.newInstance()).commit();
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(categoryList.get(0))).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
}
@@ -103,7 +91,8 @@ public class MainActivity extends BaseActivity {
case R.id.action_menu:
if (currentFragmentName.equals(PizzaFragment.FRAGMENT_NAME))
return true;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PizzaFragment.newInstance()).commit();
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(categoryList.get(0))).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
return true;
@@ -141,6 +130,9 @@ public class MainActivity extends BaseActivity {
}
private void initNavigationDrawer(){
initNavigationMenuRecyclerView();
pizzalinkToolbar.getHamburgerIcon().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -150,9 +142,26 @@ public class MainActivity extends BaseActivity {
openNavigationDrawer();
}
});
}
private void initNavigationMenuRecyclerView(){
categoryList = SharedPrefsHelper.readCategoryList();
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
navigationMenuRecyclerView.setLayoutManager(layoutManager);
navigationMenuRecyclerAdapter = new NavigationMenuRecyclerAdapter(categoryList, new RecyclerItemClickListener() {
@Override
public void onItemClick(View view, int position) {
fragmentManager.beginTransaction().replace(R.id.fragmentContainer,
MenuFragment.newInstance(categoryList.get(position))).commit();
currentFragmentName = OwnPizzaFragment.FRAGMENT_NAME;
drawerLayout.closeDrawers();
}
});
navigationMenuRecyclerView.setAdapter(navigationMenuRecyclerAdapter);
}
private void openNavigationDrawer(){
drawerLayout.openDrawer(GravityCompat.START);
}
@@ -165,7 +174,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, OwnPizzaFragment.newInstance()).commit();
currentFragmentName = OwnPizzaFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -174,7 +182,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ExtraKebapFragment.newInstance()).commit();
currentFragmentName = ExtraKebapFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -183,7 +190,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PizzaFragment.newInstance()).commit();
currentFragmentName = PizzaFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -192,7 +198,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, VorspeisenFragment.newInstance()).commit();
currentFragmentName = VorspeisenFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -201,7 +206,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, HaussFragment.newInstance()).commit();
currentFragmentName = HaussFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -210,7 +214,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, SalatFragment.newInstance()).commit();
currentFragmentName = SalatFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -219,7 +222,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, PastaFragment.newInstance()).commit();
currentFragmentName = PastaFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -228,7 +230,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ChickenFragment.newInstance()).commit();
currentFragmentName = ChickenFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
@@ -237,7 +238,6 @@ public class MainActivity extends BaseActivity {
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;
@@ -261,7 +261,6 @@ public class MainActivity extends BaseActivity {
break;
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, DessertFragment.newInstance()).commit();
currentFragmentName = DessertFragment.FRAGMENT_NAME;
drinksLayout.setVisibility(View.GONE);
drawerLayout.closeDrawers();
break;
}