我在Android中使用简单的吐司,我希望它能从所有手机的屏幕底部始终放置30dpi,这样它就不会掩盖我底部的菜单栏。
我可以通过以下方式让它在一部手机上工作:
Toast toast= Toast.makeText(getApplicationContext(), "Your string here", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.Center, 0, 300);
toast.show();
但是在不同大小的屏幕上它不起作用。我可以使用不同的引力来完成这项工作吗?
答案 0 :(得分:4)
是的,你很接近,但你应该将Gravity设置为BOTTOM|CENTER_HORIZONTAL
,然后将其偏移30dp:
Context c = getApplicationContext();
int offset = Math.round(30 * c.getResources().getDisplayMetrics().density);
Toast toast = Toast.makeText(c, "My Text", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, offset);
toast.show();