简单的Android吐司没有正确alignment

我只是从我的Activity调用:

 Toast.makeText(this, "This is a toast", Toast.LENGTH_SHORT).show() 

但结果是一个文本alignment在吐司容器的顶部,不居中,因为它应该:

在这里输入图像说明

任何想法可能是错的?

Solutions Collecting From Web of "简单的Android吐司没有正确alignment"

我设法修复它。 问题在于将属性android:fitsSystemWindows应用于活动的主题。 我发现这个答案解释了为什么不应该这样做:

android:fitsSystemWindows属性用于布局xml中的视图,而不是主题中的视图。

你所看到的是风格属性系统在Android中的作用方式。 如果没有在视图元素上或赋予视图的显式样式上指定属性,框架将检查该属性是否已经在主题本身上指定。 如果在那里发现,那么就使用这个值。 由于吐司使用的视图使用您的活动的主题,默认值为false将被覆盖,你会看到这种行为。

您不只是通过在主题中指定顶层视图来更改fitsSystemWindows默认值,而是将其replace为具有该主题的所有视图,而不是您想要的。 您应该只在布局中的视图上指定fitsSystemWindows,或者在布局中明确应用到视图的样式中指定fitsSystemWindows,而不是在主题上。

只需将该属性应用到活动(或其样式)的最顶层ViewGroup而不是其主题,并且Toast将被正确格式化。