我正在使用Toast.makeText来显示对话框的结果,并且有一个奇怪的问题:文本显示在应该保留它的框架上方,如下所示:
消息未与帧错位。请更好地对齐它。 [ _ __ _ __ _ __ _ __ _ __ < EM> _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ ___
我通常使用类似
的代码Toast bread = Toast.makeText(getContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();
来自对话框。我听说不好的上下文有时候会导致通货膨胀问题,但是getOwnerActivity()
会返回null,所以就这样了。在任何情况下,我都认为getContext()会提供在构造时传递的上下文,无论如何都是活动。
有什么建议吗?
答案 0 :(得分:21)
你可以试试这个:
Toast bread = Toast.makeText(getApplicationContext(), R.string.message, Toast.LENGTH_LONG);
bread.show();
答案 1 :(得分:3)
bread.setGravity(5,5,5);
尝试改变这些值,直到找到准确的位置。
但是使用Gravity.CENTER
和其他常量是优先的方式..
答案 2 :(得分:1)
如果您在活动中创建吐司,则应使用:this
或MyActivityName.this
作为上下文参数。
答案 3 :(得分:1)
尝试使用,
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true" />
在您的清单文件中。