从的Andr​​oid布局GridView的指标转化为行和列转化为、布局、指标、Andr

由网友(蜜糖の寳贝)分享简介:如果我有指数从0开始在网格上的位置的,我怎么能把它转换成一排,列?我越来越有以下不正确的结果。幸运的是,我知道有多少行,我有列在我的情况下,其11 11. INT列=位置%列;INT排=位置/列; 解决方案 // X:在区间[0水平位置;列-1]// Y:在区间[0垂直位置;行-1]INT X =索引%列;IN...

如果我有指数从0开始在网格上的位置的,我怎么能把它转换成一排,列?我越来越有以下不正确的结果。幸运的是,我知道有多少行,我有列在我的情况下,其11 11.

  INT列=位置%列;INT排=位置/列; 

解决方案

  // X:在区间[0水平位置;列-1]// Y:在区间[0垂直位置;行-1]INT X =索引%列;INT Y =指数/列;INT列= X + 1;INT排= Y + 1; 

扭转:

  INT指数= X + Y *列; 

  INT指数=(列 -  1)+(行 -  1)*列; 

If I have index starting from 0, of a position on a grid, how can I turn that into a row, column? I'm getting incorrect results with the following. Fortunately I know how many rows and columns I have and in my case its 11 by 11.

int column = position % columns;

int row = position / columns;

解决方案

// x : horizontal position in range [0; columns-1]
// y : vertical position in range [0; rows-1]

int x = index % columns;
int y = index / columns;
int column = x + 1;
int row = y + 1;

to reverse:

int index = x + y * columns;

or

int index = (column - 1) + (row - 1) * columns;

阅读全文

相关推荐

最新文章