getIndex function

int getIndex(
  1. BuildContext context,
  2. Offset globalPosition
)

Implementation

int getIndex(BuildContext context, Offset globalPosition) {
  //拿到点前小部件的盒子
  RenderBox box = context.findRenderObject() as RenderBox;//强转类型
  //拿到y值,globalToLocal当前位置我部件的原点(小部件左上角)的距离(x,y)
  double y = box.globalToLocal(globalPosition).dy;
  //算出字符高度
  var itemHeight = screenHeight(context) / 2 / INDEX_WORDS.length;
  //算出第几个item
  int index = (y ~/ itemHeight).clamp(0, INDEX_WORDS.length - 1);
  return index;
}