Toast.makeText(...).show() 有时会错位

发布于 2024-12-10 04:48:42 字数 609 浏览 0 评论 0原文

我正在使用 Toast.makeText 显示对话框的结果,并遇到一个稍微奇怪的问题:文本显示在应该容纳它的框架上方,如下所示:

消息与框架未对齐。请更好地对齐。 [_______________< em>_________< em>_________________________]

我通常使用看起来像

Toast bread = Toast.makeText(getContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();

对话框中的代码。我听说糟糕的上下文有时会导致通货膨胀问题,但 getOwnerActivity() 返回 null,所以这是不可能的。无论如何,我认为 getContext() 会提供在构造时传入的上下文,这无论如何都是活动。

有什么建议吗?

I am using Toast.makeText to display results from dialogs and having a slightly odd problem: the text is displaying above the frame that should hold it, like this:

The message is misaligned with the frame. Please align it better.
[_________________________________________________]

I'm generally using code looking like

Toast bread = Toast.makeText(getContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();

from a dialog. I've heard bad context can sometimes cause inflation problems but getOwnerActivity() is returning null, so that's out. In any case, I would have thought getContext() would supply the context passed in at construction time, which is the activity anyway.

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

亢潮 2024-12-17 04:48:42

你可以试试这个:

Toast bread = Toast.makeText(getApplicationContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();

you can try this:

Toast bread = Toast.makeText(getApplicationContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();
野稚 2024-12-17 04:48:42
bread.setGravity(5,5,5);

尝试更改这些值,直到获得准确的位置。

但使用 Gravity.CENTER 和其他常量是首选方式。

bread.setGravity(5,5,5);

try playing around by changing those values till you get exact location.

But using Gravity.CENTER and other constants is the prefererrd way..

停顿的约定 2024-12-17 04:48:42

如果您从 Activity 内部创建 Toast,则应使用:thisMyActivityName.this 作为上下文参数。

If you create the toast from inside an activity you should use: this or MyActivityName.this as the context parameter.

此岸叶落 2024-12-17 04:48:42

使用。

<supports-screens
   android:largeScreens="true"
   android:normalScreens="true"
   android:smallScreens="true"
   android:anyDensity="true" /> 

尝试在清单文件中

Try using,

<supports-screens
   android:largeScreens="true"
   android:normalScreens="true"
   android:smallScreens="true"
   android:anyDensity="true" /> 

in your manifest file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文