这里实际发生的是 toast 的宽度设置为包裹内容。如果添加更长的字符串,您会看到它会增长到覆盖整个屏幕。
强制它始终填满整个屏幕的一种有点笨拙的方法是简单地更改 Toast 中文本字段的宽度,如下所示:
Toast myToast = Toast.makeText(this, "Clicked", Toast.LENGTH_SHORT);
myToast.setGravity(Gravity.FILL_VERTICAL, 0, 0);
TextView toastMessage = myToast.getView().findViewById(android.R.id.message);
// In case the name of the TextView is different for different versions of Wear OS.
if (toastMessage != null) {
toastMessage.setMinWidth(480); // Replace with the actual screen width
}
myToast.show();
这不漂亮。这不是面向未来的。但它有效。:)
解决它的另一种方法是为 Toast 提供您自己的视图。这将消除代码在未来意外中断的风险。缺点是您的 toast 可能看起来与其他通用 Toast 不同(这可能会让用户感到困惑)。
我的建议是直接使用 Toast。不要试图强迫它填满屏幕。让它以其默认大小显示在默认位置。这确保了安全和一致的体验。