Android 数独中细胞的绘制区域

Android 数独中细胞的绘制区域,android,algorithm,cell,paint,sudoku,Android,Algorithm,Cell,Paint,Sudoku,我想画一个选定的数独数字所属的正方形 此代码用于打印行和列: //Pintem la fila del nombre seleccionat for (int i = 0; i < parent.getChildCount(); i++) { TextView child = (TextView) parent.getChildAt(i); if ((i/9)==x) {

我想画一个选定的数独数字所属的正方形

此代码用于打印行和列:

              //Pintem la fila del nombre seleccionat
            for (int i = 0; i < parent.getChildCount(); i++) {
                TextView child = (TextView) parent.getChildAt(i);
                if ((i/9)==x) {
                    //child.setBackgroundColor(Color.parseColor("#75FFEE"));
                    child.setBackground(getDrawable(R.drawable.contornfonsblau));
                }
            }

            //Pintem la columna del nombre seleccionat
            for (int i = 0; i < parent.getChildCount(); i++) {
                TextView child = (TextView) parent.getChildAt(i);
                if ((i%9)==y) {
                    //child.setBackgroundColor(Color.parseColor("#75FFEE"));
                    child.setBackground(getDrawable(R.drawable.contornfonsblau));
                }
            }
//Pintem la fila del nombre seleccionat
对于(int i=0;i
除了广场,我也想要同样的


您可以通过使用整数除法将小正方形的x和y坐标除以3来找到数字所属的大正方形,因为大正方形是3x3小正方形

因此,进行与上面相同的比较,但事先将两边除以3。您还需要同时检查x和y:

for (int i = 0; i < parent.getChildCount(); i++) {
    TextView child = (TextView) parent.getChildAt(i);
    if ((((i/9)/3)==(x/3)) && (((i%9)/3)==(y/3))) {
       child.setBackground(getDrawable(R.drawable.contornfonsblau));
    }
}

您可以通过使用整数除法将小正方形的x和y坐标除以3来找到数字所属的大正方形,因为大正方形是3x3个小正方形

因此,进行与上面相同的比较,但事先将两边除以3。您还需要同时检查x和y:

for (int i = 0; i < parent.getChildCount(); i++) {
    TextView child = (TextView) parent.getChildAt(i);
    if ((((i/9)/3)==(x/3)) && (((i%9)/3)==(y/3))) {
       child.setBackground(getDrawable(R.drawable.contornfonsblau));
    }
}