我正在检查应用程序中的Internet连接,当无法访问Internet时,我想向用户显示一个小弹出消息,表明您处于离线状态。
我尝试使用AlertDialog
和AlertDialog.Builder
解决问题,并且我也在互联网上搜索了其他解决方案,但没有解决方案解决了我的问题。我正在尝试通过以下方法做到这一点。
AlertDialog.Builder builder = new AlertDialog.Builder(context);
LayoutInflater inflater = LayoutInflater.from(context);
View alertdialog = inflater.inflate(R.layout.nointernetdialogue, null);
builder.setView(alertdialog);
AlertDialog dialog = builder.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams alertTop = dialog.getWindow().getAttributes();
alertTop.gravity = Gravity.TOP | Gravity.START;
alertTop.x = 100;
alertTop.y = 100;
dialog.show();
我想要的结果。
答案 0 :(得分:1)
创建BaseActivity,它将实现有关网络连接检查的广播接收器。每当网络连接断开时,显示SnackBar / Alert。 让您的所有其他活动扩展此基本活动。
答案 1 :(得分:0)
“警告”对话框看起来像是一个致命问题,只是拥有一个TextView并在网络更改时显示和隐藏它。
答案 2 :(得分:0)
答案 3 :(得分:0)
您应该创建一个BaseActivity
来检查Internet连接并在需要时显示警报对话框。您要显示警报对话框的所有活动都应从BaseActivity
开始。
答案 4 :(得分:0)
您可以使用顶部的SnackBar,有代码
Snackbar snack = Snackbar.make(findViewById(android.R.id.content), "Online", Snackbar.LENGTH_LONG);
View view = snack.getView();
FrameLayout.LayoutParams params =(FrameLayout.LayoutParams)view.getLayoutParams(); params.gravity = Gravity.TOP;
view.setLayoutParams(params);
snack.show();