main flow
git status
This commit is contained in:
@@ -1,17 +1,151 @@
|
||||
package ch.pizzalink.android.activity;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
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.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
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.ProfileFragment;
|
||||
import ch.pizzalink.android.view.PizzalinkToolbar;
|
||||
|
||||
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;
|
||||
|
||||
private FragmentManager fragmentManager;
|
||||
private String currentFragmentName = "";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
ButterKnife.bind(this);
|
||||
initViews();
|
||||
}
|
||||
|
||||
@OnClick({R.id.navMenuItem1, R.id.navMenuItem2, R.id.navMenuItem3, R.id.navMenuItem4})
|
||||
public void onClick(View view){
|
||||
selectMenuItem(view);
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
initBottomNavigationView();
|
||||
showStartScreen();
|
||||
initNavigationDrawer();
|
||||
}
|
||||
|
||||
private void showStartScreen(){
|
||||
fragmentManager = getSupportFragmentManager();
|
||||
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, OrderFragment.newInstance()).commit();
|
||||
currentFragmentName = OrderFragment.FRAGMENT_NAME;
|
||||
}
|
||||
|
||||
private void initBottomNavigationView(){
|
||||
|
||||
//bottomNavigationView.enableAnimation(false);
|
||||
bottomNavigationView.enableShiftingMode(false);
|
||||
bottomNavigationView.enableItemShiftingMode(false);
|
||||
bottomNavigationView.setTextVisibility(true);
|
||||
bottomNavigationView.setIconSize(24, 24);
|
||||
|
||||
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
|
||||
@Override
|
||||
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
||||
switch (item.getItemId()){
|
||||
case R.id.action_order:
|
||||
if (currentFragmentName.equals(OrderFragment.FRAGMENT_NAME))
|
||||
return true;
|
||||
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, OrderFragment.newInstance()).commit();
|
||||
currentFragmentName = OrderFragment.FRAGMENT_NAME;
|
||||
return true;
|
||||
|
||||
case R.id.action_cart:
|
||||
if (currentFragmentName.equals(CartFragment.FRAGMENT_NAME))
|
||||
return true;
|
||||
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, CartFragment.newInstance()).commit();
|
||||
currentFragmentName = CartFragment.FRAGMENT_NAME;
|
||||
return true;
|
||||
|
||||
case R.id.action_profile:
|
||||
if (currentFragmentName.equals(ProfileFragment.FRAGMENT_NAME))
|
||||
return true;
|
||||
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, ProfileFragment.newInstance()).commit();
|
||||
currentFragmentName = ProfileFragment.FRAGMENT_NAME;
|
||||
return true;
|
||||
|
||||
case R.id.action_info:
|
||||
if (currentFragmentName.equals(InfoFragment.FRAGMENT_NAME))
|
||||
return true;
|
||||
fragmentManager.beginTransaction().replace(R.id.fragmentContainer, InfoFragment.newInstance()).commit();
|
||||
currentFragmentName = InfoFragment.FRAGMENT_NAME;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initNavigationDrawer(){
|
||||
pizzalinkToolbar.getHamburgerIcon().setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
openNavigationDrawer();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void openNavigationDrawer(){
|
||||
drawerLayout.openDrawer(GravityCompat.START);
|
||||
}
|
||||
|
||||
private void selectMenuItem(View view){
|
||||
drawerLayout.closeDrawers();
|
||||
switch (view.getId()){
|
||||
case R.id.navMenuItem1:
|
||||
Toast.makeText(this, "NavMenuItem1", Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
case R.id.navMenuItem2:
|
||||
Toast.makeText(this, "NavMenuItem2", Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
case R.id.navMenuItem3:
|
||||
Toast.makeText(this, "NavMenuItem3", Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
case R.id.navMenuItem4:
|
||||
Toast.makeText(this, "NavMenuItem4", Toast.LENGTH_SHORT).show();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void setPizzalinkToolbarFields(boolean showHamburgerIcon, String title){
|
||||
pizzalinkToolbar.setHamburgerIconVisibility(showHamburgerIcon);
|
||||
pizzalinkToolbar.setTitle(title);
|
||||
if(showHamburgerIcon)
|
||||
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
|
||||
else
|
||||
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package ch.pizzalink.android.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import butterknife.ButterKnife;
|
||||
@@ -12,5 +13,7 @@ public class SplashActivity extends BaseActivity {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_splash);
|
||||
ButterKnife.bind(this);
|
||||
|
||||
startActivity(new Intent(this, MainActivity.class));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package ch.pizzalink.android.fragment;
|
||||
|
||||
import android.support.v4.app.Fragment;
|
||||
|
||||
import ch.pizzalink.android.activity.MainActivity;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 18/09/2017.
|
||||
*/
|
||||
|
||||
public class BaseFragment extends Fragment {
|
||||
|
||||
public void setPizzalinkToolbarFields(boolean showHamburgerIcon, String title){
|
||||
MainActivity mainActivity = (MainActivity) getActivity();
|
||||
if(mainActivity == null)
|
||||
return;
|
||||
mainActivity.setPizzalinkToolbarFields(showHamburgerIcon, title);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package ch.pizzalink.android.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.ButterKnife;
|
||||
import ch.pizzalink.android.R;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 18/09/2017.
|
||||
*/
|
||||
|
||||
public class CartFragment extends BaseFragment {
|
||||
|
||||
@BindString(R.string.fragment_title_cart) String fragmentTitle;
|
||||
|
||||
public static final java.lang.String FRAGMENT_NAME = "cartFragment";
|
||||
|
||||
public CartFragment() {}
|
||||
|
||||
public static CartFragment newInstance() {
|
||||
return new CartFragment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_cart, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
initViews();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
setPizzalinkToolbarFields(false, fragmentTitle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package ch.pizzalink.android.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.ButterKnife;
|
||||
import ch.pizzalink.android.R;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 18/09/2017.
|
||||
*/
|
||||
|
||||
public class InfoFragment extends BaseFragment {
|
||||
|
||||
@BindString(R.string.fragment_title_info) String fragmentTitle;
|
||||
|
||||
public static final java.lang.String FRAGMENT_NAME = "infoFragment";
|
||||
|
||||
public InfoFragment() {}
|
||||
|
||||
public static InfoFragment newInstance() {
|
||||
return new InfoFragment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_info, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
initViews();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
setPizzalinkToolbarFields(false, fragmentTitle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package ch.pizzalink.android.fragment;
|
||||
|
||||
import android.support.v4.app.Fragment;
|
||||
|
||||
import ch.pizzalink.android.activity.MainActivity;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 18/09/2017.
|
||||
*/
|
||||
|
||||
public class OrderBaseFragment extends BaseFragment {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package ch.pizzalink.android.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.ButterKnife;
|
||||
import ch.pizzalink.android.R;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 18/09/2017.
|
||||
*/
|
||||
|
||||
public class OrderFragment extends BaseFragment {
|
||||
|
||||
@BindString(R.string.fragment_title_order) String fragmentTitle;
|
||||
|
||||
public static final java.lang.String FRAGMENT_NAME = "orderFragment";
|
||||
|
||||
public OrderFragment() {}
|
||||
|
||||
public static OrderFragment newInstance() {
|
||||
return new OrderFragment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_order, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
initViews();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
setPizzalinkToolbarFields(true, fragmentTitle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package ch.pizzalink.android.fragment;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.ButterKnife;
|
||||
import ch.pizzalink.android.R;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 18/09/2017.
|
||||
*/
|
||||
|
||||
public class ProfileFragment extends BaseFragment {
|
||||
|
||||
@BindString(R.string.fragment_title_profile) String fragmentTitle;
|
||||
|
||||
public static final java.lang.String FRAGMENT_NAME = "profileFragment";
|
||||
|
||||
public ProfileFragment() {}
|
||||
|
||||
public static ProfileFragment newInstance() {
|
||||
return new ProfileFragment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_profile, container, false);
|
||||
ButterKnife.bind(this, view);
|
||||
initViews();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
setPizzalinkToolbarFields(false, fragmentTitle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package ch.pizzalink.android.interfaces;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 12/09/2017.
|
||||
*/
|
||||
|
||||
public interface DialogButtonClickListener {
|
||||
public void onButtonClick(View view);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package ch.pizzalink.android.interfaces;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 12/09/2017.
|
||||
*/
|
||||
|
||||
public interface RecyclerItemClickListener {
|
||||
public void onItemClick(View view , int position);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package ch.pizzalink.android.view;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 12/09/2017.
|
||||
*/
|
||||
|
||||
public class OvalEdittext {
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package ch.pizzalink.android.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import ch.pizzalink.android.R;
|
||||
import ch.pizzalink.android.activity.BaseActivity;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 18/09/2017.
|
||||
*/
|
||||
|
||||
public class PizzalinkToolbar extends Toolbar {
|
||||
|
||||
private View rootView;;
|
||||
private TextView toolbarTitleTextView;
|
||||
private ImageView hamburgerIcon;
|
||||
private boolean showHamburgerIcon;
|
||||
private String title;
|
||||
|
||||
/*
|
||||
public PizzalinkToolbar(Toolbar toolbar){
|
||||
this.toolbar = toolbar;
|
||||
initViews();
|
||||
toolbar.setBackgroundColor(ContextCompat.getColor(BaseActivity.currentActivity, android.R.color.transparent));
|
||||
}
|
||||
*/
|
||||
|
||||
public PizzalinkToolbar(Context context) {
|
||||
super(context);
|
||||
init(context);
|
||||
}
|
||||
|
||||
public PizzalinkToolbar(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.PizzalinkToolbar, 0, 0);
|
||||
try {
|
||||
showHamburgerIcon = a.getBoolean(R.styleable.PizzalinkToolbar_showHamburgerMenuIcon, false);
|
||||
title = a.getString(R.styleable.PizzalinkToolbar_title);
|
||||
} finally {
|
||||
a.recycle();
|
||||
}
|
||||
init(context);
|
||||
}
|
||||
|
||||
private void init(Context context){
|
||||
rootView = inflate(context, R.layout.layout_pizzalink_toolbar, this);
|
||||
this.setPadding(0, 0, 0, 0);
|
||||
this.setContentInsetsAbsolute(0, 0);
|
||||
toolbarTitleTextView = (TextView) rootView.findViewById(R.id.toolbarTitleTextView);
|
||||
hamburgerIcon = (ImageView) rootView.findViewById(R.id.hamburgerIcon);
|
||||
if(showHamburgerIcon)
|
||||
hamburgerIcon.setVisibility(VISIBLE);
|
||||
if(title != null) {
|
||||
toolbarTitleTextView.setText(title);
|
||||
toolbarTitleTextView.setVisibility(VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
public Toolbar getToolbar() {
|
||||
return (Toolbar) rootView;
|
||||
}
|
||||
|
||||
public void setTitle(String title){
|
||||
rootView.setVisibility(View.VISIBLE);
|
||||
toolbarTitleTextView.setVisibility(View.VISIBLE);
|
||||
toolbarTitleTextView.setText(title);
|
||||
}
|
||||
|
||||
public void setHamburgerIconVisibility(boolean show) {
|
||||
if(show)
|
||||
hamburgerIcon.setVisibility(VISIBLE);
|
||||
else
|
||||
hamburgerIcon.setVisibility(GONE);
|
||||
}
|
||||
|
||||
public ImageView getHamburgerIcon() {
|
||||
return hamburgerIcon;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user