Ric*_*rdo 14 android android-toast
我只是打电话给我Activity:
Toast.makeText(this, "This is a toast", Toast.LENGTH_SHORT).show()
Run Code Online (Sandbox Code Playgroud)
但结果是在toast容器的顶部对齐了一个文本,而不是它应该在内部居中:

关于什么可能出错的任何想法?
Ric*_*rdo 32
我设法修复它.问题在于将属性android:fitsSystemWindows应用于活动的主题.我发现这个答案解释了为什么不应该这样做:
该
android:fitsSystemWindows属性适用于布局xml中的视图,而不是主题中的视图.您所看到的是样式化属性系统在Android中的工作方式的效果.如果在视图元素上或在为视图指定的显式样式中未指定任何属性,则框架将检查是否已在主题本身上指定了该属性.如果在那里找到,则使用该值.由于toasts使用的视图使用您的activity的主题,因此会覆盖默认值false,并且您会看到此行为.
您不仅要通过在主题中指定它来更改顶级视图的fitsSystemWindows默认值,而是覆盖所有具有该主题的视图,这不是您想要的.您应该只在布局中的视图上指定fitsSystemWindows,或者在显式应用于布局中的视图的样式中指定fitsSystemWindows,而不是在主题上.
只需将属性应用于ViewGroup活动的最顶层(或样式)而不是其主题,并且将正确格式化toast.
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |