Android Toast.makeText(…).show()有时不对齐
我使用Toast.makeText显示对话框的结果,但有一个稍微奇怪的问题:文本显示在应该容纳它的框架上方,如下所示: 消息与框架未对齐。请把它排好。 [\Uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu] 我通常使用的代码看起来像Android Toast.makeText(…).show()有时不对齐,android,alignment,toast,android-context,Android,Alignment,Toast,Android Context,我使用Toast.makeText显示对话框的结果,但有一个稍微奇怪的问题:文本显示在应该容纳它的框架上方,如下所示: 消息与框架未对齐。请把它排好。 [\Uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu] 我通常使用的代码看起来像 Toast bread = Toast.makeText(getContext(), R.string.message, T
Toast bread = Toast.makeText(getContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();
从一个对话框。我听说坏的上下文有时会导致通货膨胀问题,但是getOwnerActivity()
返回null,所以这是错误的。在任何情况下,我都会认为getContext()会提供在构造时传入的上下文,这就是活动
有什么建议吗?您可以尝试以下方法:
Toast bread = Toast.makeText(getApplicationContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();
如果从活动内部创建toast,则应使用:
this
或MyActivityName。this
作为上下文参数
bread.setGravity(5,5,5);
尝试通过更改这些值来四处玩,直到得到确切的位置
但是使用重心和其他常数是首选方法。尝试使用
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true" />
在您的清单文件中。尝试使用getApplicationContext()更改getContext()…在对话框类中不可用,但是
getContext().getApplicationContext()
有效吗?在发布此消息之前,它是作为问题注释编写的answer@CrimsonChin很抱歉我本来会马上给它做标记的,但这件事让你等了十分钟,我忘了。