Android:将Toast设置为默认位置(居中,在底部状态栏的正上方)?

问题描述 投票:2回答:4

我在this帖子中遇到了完全相反的问题-具体来说,我想在默认位置(居中,仅在底部状态栏的上方)显示一个吐司,但始终在水平和垂直居中显示。

这是我用来显示吐司的代码和调用(toastNavigation方法与调用位于不同的类中:]

public static void toastNavigation(Context context, CharSequence message,
        int duration, int gravity, int gravity_xOffset, int gravity_yOffset) {  
    Toast toast = Toast.makeText(context, message, duration);  
    toast.setGravity(gravity, gravity_xOffset, gravity_yOffset);  
    toast.show();
}

toastNavigation(this, 
    "My message", Toast.LENGTH_SHORT, Gravity.NO_GRAVITY, 0, 0);

即使我传递了表示“ ...未设置重力”的常量,为什么我的烤面包也要居中?我还应该传递一些其他常量来清除从上下文继承的GRAVITY常量吗?

android toast gravity
4个回答
4
投票

如果您只需要默认值,我将假设您有充分的理由完全调用setGravity()


0
投票

我检查了您的代码以在屏幕上显示吐司。做一件事,请删除对setGravity方法的调用,然后您的吐司将根据您的要求显示在确切的位置。如果您尝试将NO_GRAVITY设置为吐司的重力,则在这种情况下,吐司将选择默认重力,并且吐司的默认重力值将在窗口中居中(与对话框相同)。如有任何疑问,请通知我。谢谢。


0
投票

对我来说,不加重力的烤面包的默认位置是底部的1/3。


-2
投票

如果您想在默认位置显示Toast,请像这样调用它:

© www.soinside.com 2019 - 2024. All rights reserved.