对话框 在android中是一种很常见的交互提示用户的方式,但是很多产品狗都叫我们这些做android的仿ios,搞的我们android程序员很苦逼,凭什么效果老是仿ios,有没有一点情怀,不过ios在界面封装确实比android好很多,吐槽完毕,比如一种很常见的场景就是在没网的情况下 提示用户,看效果图:

android 仿ios 对话框已封装成工具类_第1张图片

在很多界面都要有提示,那么就自然而然想到了封装,而不至于在每个页面都重写一篇,话不多说直接上代码

CommonDialog.java

public class CommonDialog extends Dialog{ private Context context; private String title;     private ClickListenerInterface clickListenerInterface;public CommonDialog(Context context) {super(context, R.style.MyDialogStyle);this.context = context;} @Override protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         init();    } private void init() {LayoutInflater inflater =LayoutInflater.from(context);View view =inflater.inflate(R.layout.dialog_common, null);setContentView(view);TextView tv_ok=  (TextView) view.findViewById(R.id.tv_ok);tv_ok.setOnClickListener(new clickListener());        Window dialogWindow = getWindow();        WindowManager.LayoutParams lp = dialogWindow.getAttributes();        DisplayMetrics d = context.getResources().getDisplayMetrics(); // 获取屏幕宽、高用        lp.width = (int) (d.widthPixels * 0.8); // 高度设置为屏幕的0.6        dialogWindow.setAttributes(lp);}public interface ClickListenerInterface {        public void doConfirm();   }    public void setClicklistener(ClickListenerInterface clickListenerInterface) {        this.clickListenerInterface = clickListenerInterface;     } private class clickListener implements View.OnClickListener {         @Override          public void onClick(View v) {              int id = v.getId();            switch (id) {             case R.id.tv_ok:             dismiss();                break;            }         }     };}

dialog_common.xml

<?xml version="1.0" encoding="UTF-8"?>    

对话框样式 style

使用:

final CommonDialog confirmDialog = new CommonDialog(getActivity());
            confirmDialog.show();
            confirmDialog.setClicklistener(new CommonDialog.ClickListenerInterface() {
            @Override
            public void doConfirm() {}
            });

更多相关文章

  1. 为什么说android UI操作不是线程安全的 分类: Android 2014-09-23
  2. Android 高亮指示层提示
  3. Android 升级Android Studio升级3.5提示下载fastutil插件
  4. Android实现界面跳转
  5. android 添加对back按钮的处理,点击提示退出
  6. android 震动和提示音的实现代码
  7. Android Studio 项目运行错误,弹出“Detected ADB对话框”
  8. 第一章:初入Android大门(弹出对话框)
  9. Android自定义对话框

随机推荐

  1. 如何使android应用程序使用当前的主题样
  2. Android开发随想:iPhone和Android之间的对
  3. android开发每日汇总【2011-11-26】
  4. Android中IPC框架的理解
  5. android:screenOrientation属性(转)
  6. Android开发随想:iPhone和Android之间的对
  7. ListView的一些应用
  8. 连线:纯正Android已死 “Android兼容设备
  9. Android系统自带样式(@android:style/)
  10. Android那些事儿(一)成长中的Android