i'm using a 8*8 gridview and a squareAdapter that extends BaseAdapter to make a chess board.
my question is : how shuold i display pieces in their places?
this is squareAdapter class
import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.FrameLayout; import android.widget.ImageView; public class SquareAdapter extends BaseAdapter{ private Context mContext; private LayoutInflater mInflater; FrameLayout flcp; ImageView imgvcp = null; private int whiteTurn; // CHESSBOARD private Integer[] chessboardIds = { R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, R.drawable.darksquare, R.drawable.lightsquare, }; static class ViewHolder { public ImageView square; public ImageView piece; } public SquareAdapter(Context c/*, Piece[] listPiece, int turn*/) { mContext = c; Context context = c.getApplicationContext(); mInflater = LayoutInflater.from(context); } @Override public int getCount() { return chessboardIds.length; } @Override public Object getItem(int arg0) { return null; } @Override public long getItemId(int arg0) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View rowView = convertView; if (rowView == null) { // if it's not recycled, initialize some attributes rowView = mInflater.inflate(R.layout.square, null); ViewHolder viewHolder = new ViewHolder(); viewHolder.square = (ImageView) rowView.findViewById(R.id.square_background); viewHolder.square.setImageResource(chessboardIds[position]); viewHolder.piece = (ImageView) rowView.findViewById(R.id.piece); rowView.setTag(viewHolder); } main layout file:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".ChessActivity" > <GridView android:id="@+id/gridview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" android:gravity="center_horizontal" android:numColumns="8" android:padding="0dp" android:verticalSpacing="0dp"> </GridView> </RelativeLayout> square.xml:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/square" android:layout_width="40dp" android:layout_height="40dp" android:background="#000080" android:orientation="vertical" > <ImageView android:id="@+id/square_background" android:layout_width="40dp" android:layout_height="40dp" android:padding="0dp"/> <ImageView android:id="@+id/piece" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:padding="0dp"/> </FrameLayout> this is the result: this is how much I've gone so far
No comments:
Post a Comment