3

我的地图活动显示 n 个叠加层,当我点击叠加层图标时,吐司显示在屏幕底部,但我想在我点击的叠加层图标附近显示吐司。

请指导我,提前谢谢...

4

4 回答 4

5

这段代码给了我吐司的确切位置…… 这段代码给了我吐司的确切重力……

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();

我在这里也通过点..

于 2012-05-28T05:40:15.577 回答
1

试试看这里:

如何在 Android 中更改 Toast 的位置?

它提到了如何使用 setGravity() 定位您的 Toast 消息。您需要使用图钉的 (x,y) 坐标来设置 Toast 的位置。

于 2012-05-25T15:08:39.970 回答
1

定位你的吐司

标准的 toast 通知出现在屏幕底部附近,水平居中。setGravity(int, int, int)您可以使用该方法更改此位置。这接受三个参数:一个重力常数、一个x-position offset和一个y-position offset

例如,如果你决定 toast 应该出现在左上角,你可以像这样设置重力:

toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);

如果要向右微移位置,请增加第二个参数的值。要向下微调,请增加最后一个参数的值。

资料来源:谷歌开发者

于 2012-05-25T15:13:53.837 回答
0
toast.setGravity(Gravity.TOP, 0, 0);

除了 Gravity.TOP,您还可以使用LEFTRIGHT

于 2012-05-25T15:34:34.920 回答