XML : display chess pieces in gridview

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