pizza row
This commit is contained in:
@@ -1,11 +1,18 @@
|
||||
package ch.pizzalink.android.adapter.recycler;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.Transformation;
|
||||
import android.view.animation.TranslateAnimation;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -23,41 +30,49 @@ import ch.pizzalink.android.model.PizzaModel;
|
||||
* Created by cimenmus on 20/09/2017.
|
||||
*/
|
||||
|
||||
public class PizzaRecyclerAdapter extends RecyclerView.Adapter<PizzaRecyclerAdapter.ViewHolder> {
|
||||
public class PizzaRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
|
||||
|
||||
private ArrayList<PizzaModel> pizzaList;
|
||||
private final int HOLDER_PIZZA = 0;
|
||||
private final int HOLDER_SPACE = 1;
|
||||
|
||||
private ArrayList<PizzaModel> pizzaList = new ArrayList<>();
|
||||
private RecyclerItemClickListener recyclerItemClickListener;
|
||||
|
||||
public static class ViewHolder extends RecyclerView.ViewHolder{
|
||||
public static class PizzaViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
@BindView(R.id.pizzaNameTextView) TextView pizzaNameTextView;
|
||||
@BindView(R.id.pizzaImageView) ImageView pizzaImageView;
|
||||
@BindView(R.id.pizzaIngredientsTextView) TextView pizzaIngredientsTextView;
|
||||
@BindView(R.id.pizzaBottomLayout) LinearLayout pizzaBottomLayout;
|
||||
@BindView(R.id.expandBottomLayoutImageView) ImageView expandBottomLayoutImageView;
|
||||
@BindView(R.id.collapseBottomLayoutImageView) ImageView collapseBottomLayoutImageView;
|
||||
|
||||
public ViewHolder(final View view, final RecyclerItemClickListener recyclerItemClickListener) {
|
||||
public PizzaViewHolder(final View view, final RecyclerItemClickListener recyclerItemClickListener) {
|
||||
super(view);
|
||||
ButterKnife.bind(this, view);
|
||||
/*
|
||||
favoriteOfferImageView.setClickable(true);
|
||||
|
||||
view.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
public void onClick(View view) {
|
||||
if(recyclerItemClickListener != null)
|
||||
recyclerItemClickListener.onItemClick(view, getAdapterPosition());
|
||||
recyclerItemClickListener.onItemClick(pizzaBottomLayout, getAdapterPosition());
|
||||
}
|
||||
});
|
||||
|
||||
favoriteOfferImageView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if(recyclerItemClickListener != null)
|
||||
recyclerItemClickListener.onItemClick(favoriteOfferImageView, getAdapterPosition());
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
public static class SpaceViewHolder extends RecyclerView.ViewHolder{
|
||||
public SpaceViewHolder(final View view) {
|
||||
super(view);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
|
||||
if(position == pizzaList.size())
|
||||
return HOLDER_SPACE;
|
||||
|
||||
return HOLDER_PIZZA;
|
||||
}
|
||||
|
||||
public PizzaRecyclerAdapter(ArrayList<PizzaModel> pizzaList, RecyclerItemClickListener recyclerItemClickListener){
|
||||
@@ -66,22 +81,68 @@ public class PizzaRecyclerAdapter extends RecyclerView.Adapter<PizzaRecyclerAdap
|
||||
}
|
||||
|
||||
@Override
|
||||
public PizzaRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
|
||||
View root = LayoutInflater.from(BaseActivity.currentActivity).inflate(R.layout.row_pizza_2, viewGroup, false);
|
||||
return new PizzaRecyclerAdapter.ViewHolder(root, recyclerItemClickListener);
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
|
||||
|
||||
RecyclerView.ViewHolder viewHolder;
|
||||
View view;
|
||||
LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext());
|
||||
|
||||
switch (viewType){
|
||||
|
||||
case HOLDER_PIZZA:
|
||||
view = inflater.inflate(R.layout.row_pizza_2, viewGroup, false);
|
||||
viewHolder = new PizzaViewHolder(view, recyclerItemClickListener);
|
||||
break;
|
||||
|
||||
case HOLDER_SPACE:
|
||||
view = inflater.inflate(R.layout.row_space, viewGroup, false);
|
||||
viewHolder = new SpaceViewHolder(view);
|
||||
break;
|
||||
|
||||
default:
|
||||
view = inflater.inflate(R.layout.row_pizza_2, viewGroup, false);
|
||||
viewHolder = new PizzaViewHolder(view, recyclerItemClickListener);
|
||||
break;
|
||||
}
|
||||
|
||||
return viewHolder;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(PizzaRecyclerAdapter.ViewHolder holder, int position) {
|
||||
holder.pizzaNameTextView.setText("Anatolia");
|
||||
holder.pizzaIngredientsTextView.setText("Mozzarella, Artischocken, Pilze, Peperoni, Oliven, Oregano");
|
||||
ImageLoadHelper.loadImage(holder.pizzaImageView, "http://www.pizzalink.ch/pizza/image/cache/catalog/pizza/2-220x220.png");
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
|
||||
|
||||
switch (holder.getItemViewType()){
|
||||
|
||||
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");
|
||||
|
||||
if(pizzaList.get(position).isExpanded()){
|
||||
pizzaViewHolder.expandBottomLayoutImageView.setVisibility(View.GONE);
|
||||
pizzaViewHolder.collapseBottomLayoutImageView.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.pizzaBottomLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
else{
|
||||
pizzaViewHolder.expandBottomLayoutImageView.setVisibility(View.VISIBLE);
|
||||
pizzaViewHolder.collapseBottomLayoutImageView.setVisibility(View.GONE);
|
||||
pizzaViewHolder.pizzaBottomLayout.setVisibility(View.GONE);
|
||||
}
|
||||
break;
|
||||
|
||||
case HOLDER_SPACE :
|
||||
SpaceViewHolder spaceViewHolder = (SpaceViewHolder) holder;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
//return pizzaList.size();
|
||||
return 12;
|
||||
return pizzaList.size() + 1 ;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ public class PizzaFragment extends OrderBaseFragment {
|
||||
private void initViews(){
|
||||
setPizzalinkToolbarFields(true, fragmentTitle);
|
||||
initRecyclerView();
|
||||
fillPizzaList();
|
||||
}
|
||||
|
||||
private void initRecyclerView(){
|
||||
@@ -69,7 +70,18 @@ public class PizzaFragment extends OrderBaseFragment {
|
||||
pizzaRecyclerAdapter = new PizzaRecyclerAdapter(pizzaList, new RecyclerItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(View view, int position) {
|
||||
|
||||
switch (view.getId()){
|
||||
default:
|
||||
for(int i = 0; i < pizzaList.size(); i++){
|
||||
if(i == position && !pizzaList.get(i).isExpanded())
|
||||
pizzaList.get(i).setExpanded(true);
|
||||
else
|
||||
pizzaList.get(i).setExpanded(false);
|
||||
}
|
||||
pizzaRecyclerAdapter.notifyDataSetChanged();
|
||||
pizzaRecyclerView.scrollToPosition(position);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
LinearLayoutManager layoutManager = new LinearLayoutManager(BaseActivity.currentActivity);
|
||||
@@ -77,4 +89,11 @@ public class PizzaFragment extends OrderBaseFragment {
|
||||
pizzaRecyclerView.setAdapter(pizzaRecyclerAdapter);
|
||||
}
|
||||
|
||||
private void fillPizzaList(){
|
||||
for(int i = 0; i < 12; i++){
|
||||
pizzaList.add(new PizzaModel());
|
||||
}
|
||||
pizzaRecyclerAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ public class PizzaModel {
|
||||
private double price;
|
||||
private boolean isInCart;
|
||||
private ArrayList<SizeModel> pizzaSizeList;
|
||||
private boolean isExpanded;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
@@ -77,4 +78,12 @@ public class PizzaModel {
|
||||
public void setPizzaSizeList(ArrayList<SizeModel> pizzaSizeList) {
|
||||
this.pizzaSizeList = pizzaSizeList;
|
||||
}
|
||||
|
||||
public boolean isExpanded() {
|
||||
return isExpanded;
|
||||
}
|
||||
|
||||
public void setExpanded(boolean expanded) {
|
||||
isExpanded = expanded;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user