安卓 - Toast文本被切断

4
遇到 Toast 的奇怪问题 - 我的应用程序中有几个 Toast 用于在用户执行某些操作时通知他们,其中一个 Toast 出现了显示问题。它在模拟器上很好,而且在我的共同开发者的安卓手机上也很好,但在我的手机上,第二行文本被切断了。Toast 显示为单行框,你可以看到第二行被切断的文本顶部。还有其他人遇到这个问题吗?这只是一个普遍的 bug 吗?我在谷歌上找不到问题所在!
msg = getString(R.string.notification_cancel_add);    
Toast.makeText(AddEditActivity.this, msg, Toast.LENGTH_SHORT).show();

并且R.string.notification_cancel_add = <string name="notification_saved_message">您的通知已保存。</string>


编辑以添加代码 - 没有任何奇怪的地方... - Emma Assin
当您将String硬编码到Toast中时,它是否也会截断文本? - cornbread ninja
还有其他尝试的方法...我会回复你的! - Emma Assin
你找到解决方案了吗? - burntsugar
3个回答

2

这很奇怪。但是我通过传递应用程序上下文来解决了它。

msg = getString(R.string.notification_cancel_add);    
Toast.makeText("pass aplication class context", msg, Toast.LENGTH_SHORT).show();

0

在编程中,你需要使用应用程序上下文、getContext或MyClass.this。在Activity中,使用getApplicationContext()。

正如开发者文档所述:

首先,使用makeText()方法之一实例化一个Toast对象。该方法需要三个参数:应用程序上下文、文本消息和Toast的持续时间。

来源:https://developer.android.com/guide/topics/ui/notifiers/toasts


0

请查看 Android 本地化功能,在这里。也许您需要为您的手机特定部分(显示屏等)编写额外的代码。就像您所说的那样,它可以在其他设备上正常工作。


但是...这是Toast!我的意思是,它是一个完全内置的功能,已经设置好处理不同的屏幕尺寸等 - 它所做的就是显示一个字符串。我觉得这一定是本地的错误 - 我的手机或代码没有任何奇怪之处... - Emma Assin
打算尝试调整边距,看看是否有所帮助。 - Emma Assin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接