android之alertdialog

作者: zheng_zq | 来源:发表于2019-06-08 10:36 被阅读6次

    弹出文字对话框

    MainActivity:

    package com.example.alertdialogtest01;
    
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Button btn_alert;
        private TextView tv_alert;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            btn_alert=findViewById(R.id.btn_alert);
            btn_alert.setOnClickListener(this);
            tv_alert=findViewById(R.id.tv_alert);
        }
    
        @Override
        public void onClick(View v) {
            if(v.getId()==R.id.btn_alert){
                // 创建提醒对话框的建造器
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                // 给建造器设置对话框的标题文本
                builder.setTitle("尊敬的用户");
                // 给建造器设置对话框的信息文本
                builder.setMessage("你真的要卸载我吗?");
                // 给建造器设置对话框的肯定按钮文本及其点击监听器
                builder.setPositiveButton("残忍卸载", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        tv_alert.setText("虽然依依不舍,但是只能离开了");
                    }
                });
                // 给建造器设置对话框的否定按钮文本及其点击监听器
                builder.setNegativeButton("我再想想", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        tv_alert.setText("让我再陪你三百六十五个日夜");
                    }
                });
                // 根据建造器完成提醒对话框对象的构建
                AlertDialog alert = builder.create();
                // 在界面上显示提醒对话框
                alert.show();
            }
        }
    }
    

    效果图如下:


    image.png

    弹出图片

    MainActivity:

    package com.example.test02;
    
    import android.app.Dialog;
    import android.content.Context;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
    
        Dialog dia;
        private TextView tv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv = findViewById(R.id.tv);
            tv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dia.show();
                }
            });
            Context context = MainActivity.this;
            dia = new Dialog(context, R.style.edit_AlertDialog_style);
            dia.setContentView(R.layout.activity_start_dialog);
            ImageView imageView = dia.findViewById(R.id.start_img);
            imageView.setBackground(getResources().getDrawable(R.drawable.erweima));
            //选择true的话点击其他地方可以使dialog消失,为false的话不会消失
            dia.setCanceledOnTouchOutside(true); // Sets whether this dialog is
            Window w = dia.getWindow();
            WindowManager.LayoutParams lp = w.getAttributes();
            lp.x = 0;
            lp.y = 40;
            dia.onWindowAttributesChanged(lp);
            imageView.setOnClickListener(
                    new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            dia.dismiss();
                        }
                    });
        }
    }
    

    style.xml:

    <style name="edit_AlertDialog_style" parent="@android:style/Theme.Dialog">
            <item name="android:windowIsFloating">true</item>
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowNoTitle">true</item>
            <!-- 是否启用标题栏 -->
            <item name="android:windowBackground">@android:color/transparent</item>
            <item name="android:background">@android:color/transparent</item>
            <item name="android:backgroundDimEnabled">true</item>
            <!-- 是否使用背景半透明 -->
        </style>
    

    效果图如下:


    image.png

    相关文章

      网友评论

        本文标题:android之alertdialog

        本文链接:https://www.haomeiwen.com/subject/iqxbxctx.html