Add test deck preview screen.

This commit is contained in:
kenkeiras 2018-01-21 12:05:54 +01:00
parent 8fa2e22d55
commit bd20e39785
18 changed files with 297 additions and 16 deletions

View file

@ -34,7 +34,6 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.ObjectStreamException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@ -63,7 +62,7 @@ class CanvasView extends View implements PartGrid {
private String name = "default";
private final static float touchTimeForLongTouchInMillis = 500;
private boolean _isDragging = false;
private MainActivity parentActivity = null;
private CardActivity parentActivity = null;
private Tuple4<Integer, Integer, Integer, Integer> _dropToRemoveZone = new Tuple4<>(0, 0, 0, 0);
private boolean _devMode = false;
@ -458,7 +457,7 @@ class CanvasView extends View implements PartGrid {
return _isDragging;
}
public void setParentActivity(MainActivity parentActivity) {
public void setParentActivity(CardActivity parentActivity) {
this.parentActivity = parentActivity;
}

View file

@ -1,17 +1,17 @@
package com.codigoparallevar.minicards;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
public class MainActivity extends AppCompatActivity {
public class CardActivity extends AppCompatActivity {
public final static String INTENT = "com.codigoparallevar.minicards.CARD";
CanvasView canvasView;
com.getbase.floatingactionbutton.AddFloatingActionButton AddPartButton;
@ -21,6 +21,8 @@ public class MainActivity extends AppCompatActivity {
com.getbase.floatingactionbutton.FloatingActionsMenu devFabMenu;
com.getbase.floatingactionbutton.FloatingActionsMenu userFabMenu;
com.getbase.floatingactionbutton.FloatingActionButton ShowDeckFromDevModeButton;
com.getbase.floatingactionbutton.FloatingActionButton ShowDeckFromUserModeButton;
boolean devMode = false;
FloatingActionButton removePartFab;
@ -78,7 +80,27 @@ public class MainActivity extends AppCompatActivity {
SetDevModeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.this.setDevMode(true);
CardActivity.this.setDevMode(true);
}
});
ShowDeckFromDevModeButton = (com.getbase.floatingactionbutton.FloatingActionButton)
findViewById(R.id.show_deck_from_dev_mode_button);
ShowDeckFromDevModeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(DeckPreviewActivity.INTENT);
CardActivity.this.startActivity(i);
}
});
ShowDeckFromUserModeButton = (com.getbase.floatingactionbutton.FloatingActionButton)
findViewById(R.id.show_deck_from_user_mode_button);
ShowDeckFromUserModeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(DeckPreviewActivity.INTENT);
CardActivity.this.startActivity(i);
}
});
@ -87,7 +109,7 @@ public class MainActivity extends AppCompatActivity {
SetUserModeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.this.setDevMode(false);
CardActivity.this.setDevMode(false);
}
});
@ -120,7 +142,7 @@ public class MainActivity extends AppCompatActivity {
return canvasView.onTouchEvent(event);
}
Log.e("MainActivity", "CanvasView is null");
Log.e("CardActivity", "CanvasView is null");
return super.onTouchEvent(event);
}

View file

@ -0,0 +1,49 @@
package com.codigoparallevar.minicards;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.widget.CardView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
class CardPreviewArrayAdapter extends ArrayAdapter<PreviewCard> {
private final PreviewCard[] cards;
public CardPreviewArrayAdapter(@NonNull Context context, PreviewCard[] cards) {
super(context, R.layout.card_preview);
this.cards = cards;
}
@Override
public int getCount() {
return this.cards.length;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.card_preview, parent, false);
PreviewCard card = this.cards[position];
row.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(CardActivity.INTENT);
CardPreviewArrayAdapter.this.getContext().startActivity(i);
}
});
CardView cardView = (CardView) row.findViewById(R.id.card_preview_card);
TextView nameView = (TextView) row.findViewById(R.id.card_preview_name);
cardView.setBackgroundColor(card.getColor());
nameView.setText(card.getName());
nameView.setTextColor(0xFFFFFF ^ card.getColor());
return row;
}
}

View file

@ -0,0 +1,46 @@
package com.codigoparallevar.minicards;
import android.graphics.Color;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ListView;
public class DeckPreviewActivity extends AppCompatActivity {
public static final String INTENT = "com.codigoparallevar.minicards.DECK";
private ListView listView;
private CardPreviewArrayAdapter cardArrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_deck_preview);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.create_new_card_fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
listView = (ListView) findViewById(R.id.card_deck_list);
cardArrayAdapter = new CardPreviewArrayAdapter(getApplicationContext(), new PreviewCard[]{
new PreviewCard("Default", 0, PreviewCard.DEFAULT_COLOR),
new PreviewCard("Second", 1, Color.parseColor("#FF00FF")),
new PreviewCard("Greenie", 2, Color.parseColor("#00FF00")),
});
listView.setAdapter(cardArrayAdapter);
}
}

View file

@ -0,0 +1,28 @@
package com.codigoparallevar.minicards;
import android.graphics.Color;
class PreviewCard {
public static final int DEFAULT_COLOR = Color.parseColor("#044563");
private final String name;
private final int cardId;
private final int color;
public PreviewCard(String name, int cardId, int color) {
this.name = name;
this.cardId = cardId;
this.color = color;
}
public String getName() {
return name;
}
public int getCardId() {
return cardId;
}
public int getColor() {
return color;
}
}