不同类显示Activity的Toast
时间: 2024-03-02 19:50:47 浏览: 20
如果您想在启动不同类的Activity时显示Toast消息,可以在要启动的Activity中添加Toast代码。您可以在要启动的Activity的onCreate方法中添加以下代码:
```java
Toast.makeText(this, "Activity started", Toast.LENGTH_SHORT).show();
```
在上面的代码中,"Activity started"是要显示的Toast消息。您可以将其替换为您想要显示的任何消息。Toast.LENGTH_SHORT指定了Toast显示的时间。您可以使用Toast.LENGTH_LONG来指定一个更长的显示时间。
请注意,这个Toast消息将在要启动的Activity显示时显示,而不是在启动Activity的代码段执行时显示。
相关问题
Toast显示在Activity中央
要在Activity中央显示Toast,可以先通过getWindowManager()方法获取当前Activity的WindowManager对象,然后通过getDefaultDisplay()方法获取当前屏幕的大小,最后根据屏幕大小计算出Toast显示的位置。
具体代码如下:
```
Toast toast = Toast.makeText(getApplicationContext(), "Toast显示在屏幕中央", Toast.LENGTH_SHORT);
int xOffset = 0;
int yOffset = 0;
View toastView = toast.getView();
int toastWidth = toastView.getWidth();
int toastHeight = toastView.getHeight();
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
xOffset = (screenWidth - toastWidth) / 2;
yOffset = (screenHeight - toastHeight) / 2;
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, xOffset, yOffset);
toast.show();
```
这样就可以在Activity中央显示Toast了。
Toast如何在非Activity类中使用
在非 Activity 类中使用 Toast,您需要传递一个 Context 对象,因为 Toast 需要依赖于 Activity 的上下文环境。
以下是在非 Activity 类中使用 Toast 的示例代码:
```java
public class MyUtilityClass {
private Context mContext;
public MyUtilityClass(Context context) {
mContext = context;
}
public void showToast(String message) {
Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();
}
}
```
在这个示例代码中,我们创建了一个名为 MyUtilityClass 的类,并在构造函数中传递了一个 Context 对象。然后,我们定义了一个名为 showToast() 的方法,在该方法中使用传递的 Context 对象来显示 Toast 消息。
在您的 Activity 类中,您可以创建 MyUtilityClass 对象并调用 showToast() 方法来显示 Toast 消息,如下所示:
```java
MyUtilityClass utils = new MyUtilityClass(this);
utils.showToast("Hello, world!");
```
请注意,我们在 Activity 类中创建了 MyUtilityClass 对象,并将 Activity 的上下文对象传递给它。在 showToast() 方法中,我们使用传递的上下文对象来显示 Toast 消息。