• 自定义dialog


    public class IndividualityDialogActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            Button btn = (Button)findViewById(R.id.button1);
            
            btn.setOnClickListener(new OnClickListener()
            {
                public void onClick(View v)
                {

                    //多个Activity嵌套时用this.parent否则异常
                    new myDialog(IndividualityDialogActivity.this)
                        .showDialog(R.layout.dialog, 80, 50);
                }
            });
        }

    ------------------------------------

        //自定义Dialog
        class myDialog extends Dialog{
            
            private Window window = null;
            
            public myDialog(Context context)
            {
                super(context);
            }
            
            public void showDialog(int layoutResID, int x, int y){
                setContentView(layoutResID);
                
                windowDeploy(x, y);
                
                //设置触摸对话框意外的地方取消对话框
                setCanceledOnTouchOutside(true);
                show();
            }
            
            //设置窗口显示
            public void windowDeploy(int x, int y){
                window = getWindow(); //得到对话框
                window.setWindowAnimations(R.style.dialogWindowAnim); //设置窗口弹出动画
                window.setBackgroundDrawableResource(R.color.vifrification); //设置对话框背景为透明
                WindowManager.LayoutParams wl = window.getAttributes();
                //根据x,y坐标设置窗口需要显示的位置
                wl.x = x; //x小于0左移,大于0右移
                wl.y = y; //y小于0上移,大于0下移  
    //            wl.alpha = 0.6f; //设置透明度
    //            wl.gravity = Gravity.BOTTOM; //设置重力
                window.setAttributes(wl);
            }
        }
    }

    -------------------------

    <!-- 
        android:fromXscale="1.0" 表示开始时X轴缩放比例为 1.0 (原图大小 * 1.0 为原图大小)
        android:toXscale="0.0"表示结束时X轴缩放比例为0.0(原图大小 *0.0 为缩小到看不见)
        android:fromYscale="1.0" 表示开始时Y轴缩放比例为 1.0 (原图大小 * 1.0 为原图大小)
        android:toYscale="0.0"表示结束时Y轴缩放比例为0.0(原图大小 *0.0 为缩小的看不到了)
        android:pivotX="50%" X轴缩放的位置为中心点
        android:pivotY="50%" Y轴缩放的位置为中心点
        android:duration="2000" 动画播放时间 这里是2000毫秒也就是2秒
     -->

    点击对话框外面和按返回键对话框不会消失,按返回键还好解决,拦截下返回键就OK了。

    public void showNoProject(){
            Builder builder = new AlertDialog.Builder(MainActivity.this)
            .setMessage("您还没有项目,请先添加项目")
            .setPositiveButton("去添加项目", new OnClickListener() {
                
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    
                }
            })
            .setNegativeButton("关闭", new OnClickListener() {
                
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    
                }
            });
            builder.setCancelable(false);
            builder.show();
        }

    /------------------------------------------------------------------

    //编辑单价
    public void eidtPrice(String aa){
    {

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setIcon(R.drawable.ic_launcher);
    builder.setTitle("请输入用户名和密码"+aa);
    // 通过LayoutInflater来加载一个xml的布局文件作为一个View对象
    View view = LayoutInflater.from(getActivity()).inflate(R.layout.bjedit_pro_price, null);
    // 设置我们自己定义的布局文件作为弹出框的Content
    builder.setView(view);

    final EditText username = (EditText)view.findViewById(R.id.name);
    final EditText password = (EditText)view.findViewById(R.id.price);

    builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
    {
    @Override
    public void onClick(DialogInterface dialog, int which)
    {
    String a = username.getText().toString().trim();
    String b = password.getText().toString().trim();
    // 将输入的用户名和密码打印出来
    // Toast.makeText(MainActivity.this, "用户名: " + a + ", 密码: " + b, Toast.LENGTH_SHORT).show();
    }
    });
    builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
    {
    @Override
    public void onClick(DialogInterface dialog, int which)
    {

    }
    });
    builder.show();
    }

  • 相关阅读:
    namespaces in C++
    cout如何刷新缓冲区
    Journey CodeForces 1336F[data structures divide and conquer graphs trees]
    using ll=long long;
    Kaavi and Magic Spell CodeForces 1337E【dp strings】
    摸个🐟
    gcc的几个有用的处理二进制位的内置函数
    Yui and Mahjong Set CodeForces 1337F 【interactive】交互式题
    C++ auto 的使用
    2005年微软十大安全漏洞 java程序员
  • 原文地址:https://www.cnblogs.com/manmanlu/p/5594178.html
Copyright © 2020-2023  润新知