main flow

git status
This commit is contained in:
2017-09-19 00:05:38 +03:00
parent 1f233d977b
commit addc63ed21
32 changed files with 880 additions and 11 deletions

View File

@@ -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);
}
}

View File

@@ -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));
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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 {
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -0,0 +1,8 @@
package ch.pizzalink.android.view;
/**
* Created by cimenmus on 12/09/2017.
*/
public class OvalEdittext {
}

View File

@@ -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;
}
}