短视频商城源码,安卓几种弹窗方法

时间:2022-07-26
本文章向大家介绍短视频商城源码,安卓几种弹窗方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
public class MainActivity extends AppCompatActivity {
    private Button btn, btn2, btn3;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        OnClick onClick = new OnClick();
        btn = findViewById(R.id.button2);
        btn2 = findViewById(R.id.button3);
        btn3 = findViewById(R.id.button4);
        btn.setOnClickListener(onClick);
        btn2.setOnClickListener(onClick);
        btn3.setOnClickListener(onClick);
    }
    class OnClick implements View.OnClickListener {
        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                //单选框弹窗
                case R.id.button2:
                    final String s[] = new String[]{"男", "女"};
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("测试")
                            .setSingleChoiceItems(s, 0, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    Toast.makeText(MainActivity.this, s[i], Toast.LENGTH_LONG).show();
                                }
                            }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            dialogInterface.dismiss();//关闭弹窗,可写可不写,看情况
                        }
                    }).setCancelable(false)//不能点击弹窗之外的地方
                            .show();
                    break;
                    //多选弹窗
                case R.id.button3:
                    final String s1[] = new String[]{"时崎狂三", "乌贼娘", "momo"};
                    final boolean isok[] = new boolean[]{true, false, false};
                    AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this);
                    builder1.setTitle("你的老婆是").setMultiChoiceItems(s1, isok, new DialogInterface.OnMultiChoiceClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                            Toast.makeText(MainActivity.this, s1[i] + "选择状态" + isok[i], Toast.LENGTH_LONG).show();
                        }
                    }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                        }
                    }).show();
                    break;
                    //自定义弹窗
                case R.id.button4:
                    LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this);//适配器
                    View v = layoutInflater.inflate(R.layout.dialoglayout, null);//引用自定义布局
                    Button button = findViewById(R.id.button4);//可以获取到自定义布局里面的控件
                    button.setOnClickListener(new View.OnClickListener() {//监听控件的事件
                        @Override
                        public void onClick(View view) {
                          //这里写事件代码
                        }
                    });
                    AlertDialog.Builder builder2 = new AlertDialog.Builder(MainActivity.this);//创建弹窗
                    builder2.setView(v).show();//设置自定义布局并show出来
                    break;
                 //透明弹窗
                case R.id.button_aploh:
                    Dialog dialog = new Dialog(MainActivity.this);
                    LayoutInflater layoutI = LayoutInflater.from(MainActivity.this);//适配器
                    View v2 = layoutI.inflate(R.layout.dialoglayout, null);//引用自定义布局
                    dialog.setContentView(v2);
                    dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);//最重要的一行
                    dialog.show();
                    break;
            }
        }
    }
}