如何在Android应用程序中为我的跳棋游戏设置坐标

如何在Android应用程序中为我的跳棋游戏设置坐标,android,Android,我是Android应用程序的新手,希望能得到专家的指导。我现在正在为我的最后一个项目做跳棋棋盘游戏。我面临的问题是,如何使用“图像”按钮设置板盒的协调器? 我这样使用对吗?您可以使用网格视图来容纳棋盘方块。然后,您可以简单地将一组backing checker square对象绑定到网格,并创建自己的BaseAdapter以在每个网格单元中显示ImageButton。我将创建一个自定义视图,并将其设置为内容背景。 即 在上面的代码中,棋盘格扩展了视图。在checkboard类中,可以使用传入的宽

我是Android应用程序的新手,希望能得到专家的指导。我现在正在为我的最后一个项目做跳棋棋盘游戏。我面临的问题是,如何使用“图像”按钮设置板盒的协调器?
我这样使用对吗?

您可以使用
网格视图来容纳棋盘方块。然后,您可以简单地将一组backing checker square对象绑定到网格,并创建自己的
BaseAdapter
以在每个网格单元中显示
ImageButton

我将创建一个自定义
视图
,并将其设置为内容背景。 即

在上面的代码中,
棋盘格
扩展了
视图
。在
checkboard
类中,可以使用传入的宽度和高度以编程方式将视图划分为8 x 8网格。然后,您可以让该视图绘制网格,同时将每个区域绑定到二维数组。解释我心目中的层次结构有点复杂,但看看这个模型:

public class CheckerBoard extends View {

     @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        height = MeasureSpec.getSize(heightMeasureSpec);
        width = MeasureSpec.getSize(widthMeasureSpec);

        // A checkerboard is a square; this keeps the view's 
        // length and width the same size.
        width = (height > width) ? height : width;
        height = (height > width) ? width : height;

        this.setMeasuredDimension(width, height);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        //Log.i("VolumeGauge", "Size changed to " + w + "x" + h);

        // This is where you divide up the view into 64
        // pieces and paint them.
        generateBackground();
    }

    Other methods here…

}
有很多东西可以让它正常工作,但我能给你的最好资源是:

它引导您完成创建自定义
视图的过程。

一旦创建了
棋盘格
,只需将每个方块映射到二维布尔数组(如果每个元素被播放的棋子占据,则每个元素都是
true
),然后在屏幕上跟踪用户的触摸输入。

看不到任何代码。请编辑您的问题!大家好,非常感谢,非常感谢!
public class CheckerBoard extends View {

     @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        height = MeasureSpec.getSize(heightMeasureSpec);
        width = MeasureSpec.getSize(widthMeasureSpec);

        // A checkerboard is a square; this keeps the view's 
        // length and width the same size.
        width = (height > width) ? height : width;
        height = (height > width) ? width : height;

        this.setMeasuredDimension(width, height);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        //Log.i("VolumeGauge", "Size changed to " + w + "x" + h);

        // This is where you divide up the view into 64
        // pieces and paint them.
        generateBackground();
    }

    Other methods here…

}