我的地图活动显示 n 个叠加层,当我点击叠加层图标时,吐司显示在屏幕底部,但我想在我点击的叠加层图标附近显示吐司。
请指导我,提前谢谢...
这段代码给了我吐司的确切位置…… 这段代码给了我吐司的确切重力……
OverlayItem item = overlayItems_.get(index);
Projection projection = mMapView.getProjection();
Point point = new Point();
projection.toPixels(item.getPoint(), point);
Toast toast = Toast.makeText(mContext, item.getTitle()+" "+item.getSnippet(), Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP | Gravity.LEFT, point.x, point.y);
toast.show();
我在这里也通过点..
试试看这里:
它提到了如何使用 setGravity() 定位您的 Toast 消息。您需要使用图钉的 (x,y) 坐标来设置 Toast 的位置。
定位你的吐司
标准的 toast 通知出现在屏幕底部附近,水平居中。setGravity(int, int, int)
您可以使用该方法更改此位置。这接受三个参数:一个重力常数、一个x-position offset
和一个y-position offset
。
例如,如果你决定 toast 应该出现在左上角,你可以像这样设置重力:
toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
如果要向右微移位置,请增加第二个参数的值。要向下微调,请增加最后一个参数的值。
资料来源:谷歌开发者
toast.setGravity(Gravity.TOP, 0, 0);
除了 Gravity.TOP,您还可以使用LEFT
或RIGHT