首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何自定义Toast在Android中的显示时间?

自定义 Toast 在 Android 中的显示时间可以通过以下步骤实现:

  1. 在 AndroidManifest.xml 文件中添加以下权限和设置:<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"/> <application> ... <receiver android:name=".ToastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver> </application>import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class ToastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String toastText = intent.getStringExtra("toastText"); int duration = intent.getIntExtra("duration", Toast.LENGTH_SHORT); Toast.makeText(context, toastText, duration).show(); } }import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 启动 Toast 广播 Intent toastIntent = new Intent("com.example.TOAST_ACTION"); toastIntent.putExtra("toastText", "这是一个自定义的 Toast 消息"); toastIntent.putExtra("duration", Toast.LENGTH_SHORT); sendBroadcast(toastIntent); } }<action android:name="com.example.TOAST_ACTION" android:permission="android.permission.BROADCAST_BADGE" android:label="@string/app_name" />
  2. 创建一个名为 ToastReceiver.java 的类,该类将实现 BroadcastReceiver,用于在设备启动时自动显示 Toast。
  3. 在 MainActivity.java 文件中,添加以下代码以启动 Toast 广播:
  4. 在 AndroidManifest.xml 文件中,添加以下 Action,以便在接收到广播时,可以启动 Toast 显示:

这样,您就可以自定义 Toast 在 Android 中的显示时间了。如果您想要取消 Toast 显示,可以在 onReceive() 方法中添加以下代码:

代码语言:java
复制
Toast.makeText(context, "Toast cannot be shown", Toast.LENGTH_SHORT).show();

这将取消 Toast 显示。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券