piiza row
This commit is contained in:
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -37,7 +37,7 @@
|
||||
<ConfirmationsSetting value="0" id="Add" />
|
||||
<ConfirmationsSetting value="0" id="Remove" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
||||
@@ -3,6 +3,7 @@ package ch.pizzalink.android.adapter.recycler;
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.support.v7.widget.AppCompatCheckBox;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -10,19 +11,23 @@ import android.view.ViewGroup;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.Transformation;
|
||||
import android.view.animation.TranslateAnimation;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindDrawable;
|
||||
import butterknife.BindView;
|
||||
import butterknife.BindViews;
|
||||
import butterknife.ButterKnife;
|
||||
import ch.pizzalink.android.R;
|
||||
import ch.pizzalink.android.activity.BaseActivity;
|
||||
import ch.pizzalink.android.helper.ImageLoadHelper;
|
||||
import ch.pizzalink.android.interfaces.CheckBoxChangedListener;
|
||||
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
|
||||
import ch.pizzalink.android.model.PizzaModel;
|
||||
|
||||
@@ -37,6 +42,7 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
|
||||
private ArrayList<PizzaModel> pizzaList = new ArrayList<>();
|
||||
private RecyclerItemClickListener recyclerItemClickListener;
|
||||
private CheckBoxChangedListener checkBoxChangedListener;
|
||||
|
||||
public static class PizzaViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
@@ -47,9 +53,38 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
@BindView(R.id.expandBottomLayoutImageView) ImageView expandBottomLayoutImageView;
|
||||
@BindView(R.id.collapseBottomLayoutImageView) ImageView collapseBottomLayoutImageView;
|
||||
|
||||
public PizzaViewHolder(final View view, final RecyclerItemClickListener recyclerItemClickListener) {
|
||||
@BindViews({ R.id.pizzaSize1CheckBox, R.id.pizzaSize2CheckBox, R.id.pizzaSize3CheckBox })
|
||||
List<AppCompatCheckBox> pizzaSizeCheckBoxList;
|
||||
|
||||
@BindView(R.id.pizzaSize1Layout) LinearLayout pizzaSize1Layout;
|
||||
@BindView(R.id.pizzaSize1NameTextView) TextView pizzaSize1NameTextView;
|
||||
@BindView(R.id.pizzaSize1CheckBox) AppCompatCheckBox pizzaSize1CheckBox;
|
||||
@BindView(R.id.pizzaSize1LengthTextView) TextView pizzaSize1LengthTextView;
|
||||
|
||||
@BindView(R.id.pizzaSize2Layout) LinearLayout pizzaSize2Layout;
|
||||
@BindView(R.id.pizzaSize2NameTextView) TextView pizzaSize2NameTextView;
|
||||
@BindView(R.id.pizzaSize2CheckBox) AppCompatCheckBox pizzaSize2CheckBox;
|
||||
@BindView(R.id.pizzaSize2LengthTextView) TextView pizzaSize2LengthTextView;
|
||||
|
||||
@BindView(R.id.pizzaSize3Layout) LinearLayout pizzaSize3Layout;
|
||||
@BindView(R.id.pizzaSize3NameTextView) TextView pizzaSize3NameTextView;
|
||||
@BindView(R.id.pizzaSize3CheckBox) AppCompatCheckBox pizzaSize3CheckBox;
|
||||
@BindView(R.id.pizzaSize3LengthTextView) TextView pizzaSize3LengthTextView;
|
||||
|
||||
@BindView(R.id.increasePizzaCountTextView) ImageView increasePizzaCountTextView;
|
||||
@BindView(R.id.pizzaCountTextView) TextView pizzaCountTextView;
|
||||
@BindView(R.id.deccreasePizzaCountTextView) ImageView deccreasePizzaCountTextView;
|
||||
|
||||
@BindView(R.id.pizzaPriceTextView) TextView pizzaPriceTextView;
|
||||
@BindView(R.id.addPizzaToCartButton) Button addPizzaToCartButton;
|
||||
|
||||
|
||||
public PizzaViewHolder(final View view,
|
||||
final RecyclerItemClickListener recyclerItemClickListener,
|
||||
final CheckBoxChangedListener checkBoxChangedListener) {
|
||||
super(view);
|
||||
ButterKnife.bind(this, view);
|
||||
|
||||
view.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
@@ -57,6 +92,40 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
recyclerItemClickListener.onItemClick(pizzaBottomLayout, getAdapterPosition());
|
||||
}
|
||||
});
|
||||
|
||||
increasePizzaCountTextView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if(recyclerItemClickListener != null)
|
||||
recyclerItemClickListener.onItemClick(increasePizzaCountTextView, getAdapterPosition());
|
||||
}
|
||||
});
|
||||
|
||||
deccreasePizzaCountTextView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if(recyclerItemClickListener != null)
|
||||
recyclerItemClickListener.onItemClick(deccreasePizzaCountTextView, getAdapterPosition());
|
||||
}
|
||||
});
|
||||
|
||||
addPizzaToCartButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if(recyclerItemClickListener != null)
|
||||
recyclerItemClickListener.onItemClick(addPizzaToCartButton, getAdapterPosition());
|
||||
}
|
||||
});
|
||||
|
||||
for(final AppCompatCheckBox appCompatCheckBox : pizzaSizeCheckBoxList){
|
||||
appCompatCheckBox.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if(checkBoxChangedListener != null)
|
||||
checkBoxChangedListener.onCheckedChanged(appCompatCheckBox, getAdapterPosition());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,9 +144,12 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
return HOLDER_PIZZA;
|
||||
}
|
||||
|
||||
public PizzaRecyclerAdapter(ArrayList<PizzaModel> pizzaList, RecyclerItemClickListener recyclerItemClickListener){
|
||||
public PizzaRecyclerAdapter(ArrayList<PizzaModel> pizzaList,
|
||||
RecyclerItemClickListener recyclerItemClickListener,
|
||||
CheckBoxChangedListener checkBoxChangedListener){
|
||||
this.pizzaList = pizzaList;
|
||||
this.recyclerItemClickListener = recyclerItemClickListener;
|
||||
this.checkBoxChangedListener = checkBoxChangedListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -91,7 +163,7 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
|
||||
case HOLDER_PIZZA:
|
||||
view = inflater.inflate(R.layout.row_pizza_2, viewGroup, false);
|
||||
viewHolder = new PizzaViewHolder(view, recyclerItemClickListener);
|
||||
viewHolder = new PizzaViewHolder(view, recyclerItemClickListener, checkBoxChangedListener);
|
||||
break;
|
||||
|
||||
case HOLDER_SPACE:
|
||||
@@ -101,7 +173,7 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
|
||||
default:
|
||||
view = inflater.inflate(R.layout.row_pizza_2, viewGroup, false);
|
||||
viewHolder = new PizzaViewHolder(view, recyclerItemClickListener);
|
||||
viewHolder = new PizzaViewHolder(view, recyclerItemClickListener, checkBoxChangedListener);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -116,9 +188,10 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
|
||||
case HOLDER_PIZZA :
|
||||
PizzaViewHolder pizzaViewHolder = (PizzaViewHolder) holder;
|
||||
pizzaViewHolder.pizzaNameTextView.setText("Anatolia");
|
||||
pizzaViewHolder.pizzaIngredientsTextView.setText("Mozzarella, Artischocken, Pilze, Peperoni, Oliven, Oregano");
|
||||
ImageLoadHelper.loadImage(pizzaViewHolder.pizzaImageView, "http://www.pizzalink.ch/pizza/image/cache/catalog/pizza/2-220x220.png");
|
||||
pizzaViewHolder.pizzaNameTextView.setText(pizzaList.get(position).getName());
|
||||
pizzaViewHolder.pizzaIngredientsTextView.setText(pizzaList.get(position).getIngredients());
|
||||
pizzaViewHolder.pizzaCountTextView.setText(String.valueOf(pizzaList.get(position).getCount()));
|
||||
ImageLoadHelper.loadImage(pizzaViewHolder.pizzaImageView, pizzaList.get(position).getImageURL());
|
||||
|
||||
if(pizzaList.get(position).isExpanded()){
|
||||
pizzaViewHolder.expandBottomLayoutImageView.setVisibility(View.GONE);
|
||||
@@ -131,8 +204,42 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
pizzaViewHolder.collapseBottomLayoutImageView.setVisibility(View.GONE);
|
||||
pizzaViewHolder.pizzaBottomLayout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if(pizzaList.get(position).getPizzaSizeList().size() == 0){
|
||||
pizzaViewHolder.pizzaSize1Layout.setVisibility(View.GONE);
|
||||
pizzaViewHolder.pizzaSize2Layout.setVisibility(View.GONE);
|
||||
pizzaViewHolder.pizzaSize3Layout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
else if(pizzaList.get(position).getPizzaSizeList().size() == 1){
|
||||
pizzaViewHolder.pizzaSize1Layout.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.pizzaSize1NameTextView.setText(pizzaList.get(position).getPizzaSizeList().get(0).getName());
|
||||
pizzaViewHolder.pizzaSize2Layout.setVisibility(View.GONE);
|
||||
pizzaViewHolder.pizzaSize3Layout.setVisibility(View.GONE);
|
||||
|
||||
|
||||
}
|
||||
|
||||
else if(pizzaList.get(position).getPizzaSizeList().size() == 2){
|
||||
pizzaViewHolder.pizzaSize1Layout.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.pizzaSize1NameTextView.setText(pizzaList.get(position).getPizzaSizeList().get(0).getName());
|
||||
pizzaViewHolder.pizzaSize2Layout.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.pizzaSize2NameTextView.setText(pizzaList.get(position).getPizzaSizeList().get(1).getName());
|
||||
pizzaViewHolder.pizzaSize3Layout.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
else if(pizzaList.get(position).getPizzaSizeList().size() <= 3){
|
||||
pizzaViewHolder.pizzaSize1Layout.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.pizzaSize1NameTextView.setText(pizzaList.get(position).getPizzaSizeList().get(0).getName());
|
||||
pizzaViewHolder.pizzaSize2Layout.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.pizzaSize2NameTextView.setText(pizzaList.get(position).getPizzaSizeList().get(1).getName());
|
||||
pizzaViewHolder.pizzaSize3Layout.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.pizzaSize3NameTextView.setText(pizzaList.get(position).getPizzaSizeList().get(2).getName());
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case HOLDER_SPACE :
|
||||
SpaceViewHolder spaceViewHolder = (SpaceViewHolder) holder;
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ch.pizzalink.android.fragment.order;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.AppCompatCheckBox;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
@@ -9,6 +10,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.BindView;
|
||||
@@ -17,8 +19,10 @@ import ch.pizzalink.android.R;
|
||||
import ch.pizzalink.android.activity.BaseActivity;
|
||||
import ch.pizzalink.android.adapter.recycler.PizzaRecyclerAdapter;
|
||||
import ch.pizzalink.android.helper.DisplayHelper;
|
||||
import ch.pizzalink.android.interfaces.CheckBoxChangedListener;
|
||||
import ch.pizzalink.android.interfaces.RecyclerItemClickListener;
|
||||
import ch.pizzalink.android.model.PizzaModel;
|
||||
import ch.pizzalink.android.model.SizeModel;
|
||||
import ch.pizzalink.android.view.GridSpacesItemDecoration;
|
||||
|
||||
/**
|
||||
@@ -67,10 +71,20 @@ public class PizzaFragment extends OrderBaseFragment {
|
||||
pizzaRecyclerView.addItemDecoration(new GridSpacesItemDecoration(DisplayHelper.dpToPx(12)));
|
||||
*/
|
||||
|
||||
pizzaRecyclerAdapter = new PizzaRecyclerAdapter(pizzaList, new RecyclerItemClickListener() {
|
||||
RecyclerItemClickListener recyclerItemClickListener = new RecyclerItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(View view, int position) {
|
||||
switch (view.getId()){
|
||||
case R.id.increasePizzaCountTextView:
|
||||
pizzaList.get(position).setCount(pizzaList.get(position).getCount() + 1);
|
||||
pizzaRecyclerAdapter.notifyItemChanged(position);
|
||||
break;
|
||||
case R.id.deccreasePizzaCountTextView:
|
||||
if(pizzaList.get(position).getCount() == 0)
|
||||
break;
|
||||
pizzaList.get(position).setCount(pizzaList.get(position).getCount() - 1);
|
||||
pizzaRecyclerAdapter.notifyItemChanged(position);
|
||||
break;
|
||||
default:
|
||||
for(int i = 0; i < pizzaList.size(); i++){
|
||||
if(i == position && !pizzaList.get(i).isExpanded())
|
||||
@@ -83,15 +97,97 @@ public class PizzaFragment extends OrderBaseFragment {
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
CheckBoxChangedListener checkBoxChangedListener = new CheckBoxChangedListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(AppCompatCheckBox appCompatCheckBox, int position) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
pizzaRecyclerAdapter = new PizzaRecyclerAdapter(pizzaList, recyclerItemClickListener, checkBoxChangedListener);
|
||||
LinearLayoutManager layoutManager = new LinearLayoutManager(BaseActivity.currentActivity);
|
||||
pizzaRecyclerView.setLayoutManager(layoutManager);
|
||||
pizzaRecyclerView.setAdapter(pizzaRecyclerAdapter);
|
||||
}
|
||||
|
||||
private void fillPizzaList(){
|
||||
|
||||
for(int i = 0; i < 12; i++){
|
||||
pizzaList.add(new PizzaModel());
|
||||
|
||||
PizzaModel pizzaModel = new PizzaModel();
|
||||
pizzaModel.setName("Pizza " + (i+1));
|
||||
pizzaModel.setIngredients("Mozzarella, Artischocken, Pilze, Peperoni, Oliven, Oregano");
|
||||
pizzaModel.setImageURL("http://www.pizzalink.ch/pizza/image/cache/catalog/pizza/2-220x220.png");
|
||||
|
||||
ArrayList<SizeModel> sizeList = new ArrayList<>();
|
||||
|
||||
if(i % 4 == 0){
|
||||
SizeModel sizeModel1 = new SizeModel();
|
||||
sizeModel1.setName("Size 1");
|
||||
sizeModel1.setLength("Length 1");
|
||||
|
||||
SizeModel sizeModel2 = new SizeModel();
|
||||
sizeModel2.setName("Size 2");
|
||||
sizeModel2.setLength("Length 2");
|
||||
|
||||
SizeModel sizeModel3 = new SizeModel();
|
||||
sizeModel3.setName("Size 3");
|
||||
sizeModel3.setLength("Length 3");
|
||||
|
||||
SizeModel sizeModel4 = new SizeModel();
|
||||
sizeModel4.setName("Size 4");
|
||||
sizeModel4.setLength("Length 4");
|
||||
|
||||
sizeList.add(sizeModel1);
|
||||
sizeList.add(sizeModel2);
|
||||
sizeList.add(sizeModel3);
|
||||
sizeList.add(sizeModel4);
|
||||
|
||||
} else if(i % 4 == 1){
|
||||
|
||||
SizeModel sizeModel1 = new SizeModel();
|
||||
sizeModel1.setName("Size 1");
|
||||
sizeModel1.setLength("Length 1");
|
||||
|
||||
SizeModel sizeModel2 = new SizeModel();
|
||||
sizeModel2.setName("Size 2");
|
||||
sizeModel2.setLength("Length 2");
|
||||
|
||||
SizeModel sizeModel3 = new SizeModel();
|
||||
sizeModel3.setName("Size 3");
|
||||
sizeModel3.setLength("Length 3");
|
||||
|
||||
sizeList.add(sizeModel1);
|
||||
sizeList.add(sizeModel2);
|
||||
sizeList.add(sizeModel3);
|
||||
|
||||
} else if(i % 4 == 2){
|
||||
|
||||
SizeModel sizeModel1 = new SizeModel();
|
||||
sizeModel1.setName("Size 1");
|
||||
sizeModel1.setLength("Length 1");
|
||||
|
||||
SizeModel sizeModel2 = new SizeModel();
|
||||
sizeModel2.setName("Size 2");
|
||||
sizeModel2.setLength("Length 2");
|
||||
|
||||
sizeList.add(sizeModel1);
|
||||
sizeList.add(sizeModel2);
|
||||
|
||||
} else {
|
||||
|
||||
SizeModel sizeModel1 = new SizeModel();
|
||||
sizeModel1.setName("Size 1");
|
||||
sizeModel1.setLength("Length 1");
|
||||
|
||||
sizeList.add(sizeModel1);
|
||||
}
|
||||
|
||||
pizzaModel.setPizzaSizeList(sizeList);
|
||||
|
||||
pizzaList.add(pizzaModel);
|
||||
}
|
||||
pizzaRecyclerAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package ch.pizzalink.android.interfaces;
|
||||
|
||||
import android.support.v7.widget.AppCompatCheckBox;
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 25/09/2017.
|
||||
*/
|
||||
|
||||
public interface CheckBoxChangedListener {
|
||||
public void onCheckedChanged(AppCompatCheckBox appCompatCheckBox, int position);
|
||||
}
|
||||
@@ -10,6 +10,7 @@ public class PizzaModel {
|
||||
|
||||
private String id, name, ingredients;
|
||||
private int count, isCartCount;
|
||||
private String imageURL;
|
||||
private double price;
|
||||
private boolean isInCart;
|
||||
private ArrayList<SizeModel> pizzaSizeList;
|
||||
@@ -86,4 +87,12 @@ public class PizzaModel {
|
||||
public void setExpanded(boolean expanded) {
|
||||
isExpanded = expanded;
|
||||
}
|
||||
|
||||
public String getImageURL() {
|
||||
return imageURL;
|
||||
}
|
||||
|
||||
public void setImageURL(String imageURL) {
|
||||
this.imageURL = imageURL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
android:layout_centerVertical="true">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/pizzaSize1Layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
@@ -129,6 +130,7 @@
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/pizzaSize2Layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
@@ -167,6 +169,7 @@
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/pizzaSize3Layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
@@ -270,7 +273,7 @@
|
||||
android:layout_gravity="center_horizontal"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/addPizzaToCartTextView"
|
||||
android:id="@+id/addPizzaToCartButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
|
||||
Reference in New Issue
Block a user