怎么自定义dialog样式

浩海如烟 Android 中 Actio... 最后由 极客学院-媛儿 于2015年07月06日回复

  • 1 回答
  • 1.8k 浏览

不想要自带的dialog,想要自己写dialog样式,该怎么写呢?有什么步骤啥什么的么,希望老师尽快回答

  • 极客学院-媛儿 2015年07月06日 回答 #1楼
  • 1、自定义Dialog

      final Dialog dialog = new Dialog(this, R.style.Theme_dialog);

    2、窗口布局

      View contentView = LayoutInflater.from(this).inflate(R.layout.select_list_dialog, null);

    3、把设定好的窗口布局放到dialog中

      dialog.setContentView(contentView);

    4、设定点击窗口空白处取消会话

      dialog.setCanceledOnTouchOutside(true);

    5、具体的操作

      ListView msgView = (ListView) contentView.findViewById(R.id.listview_flow_list);

    6、展示窗口

      dialog.show();

      例:
            final Dialog dialog = new Dialog(this, R.style.Theme_dialog);
            View contentView = LayoutInflater.from(this).inflate(R.layout.select_list_dialog, null);
            dialog.setContentView(contentView);
            dialog.setCanceledOnTouchOutside(true);
            ListView msgView = (ListView) contentView.findViewById(R.id.listview_flow_list);

            TextView titleText = (TextView) contentView.findViewById(R.id.title);

            titleText.setText("请选择银行卡");

             

            SelectBankCardDialogAdapter adapter = new SelectBankCardDialogAdapter(this, mBankcardList);

            msgView.setAdapter(adapter);

            msgView.setOnItemClickListener(new OnItemClickListener() {

                @Override

                public void onItemClick(AdapterView  parent, View view, int position, long id) {

                    // Toast.makeText(RechargeFlowToMobileActivity.this,

                    // position "", 0).show();

                    mSelectCard = mBankcardList.get(position);

                    String area = mSelectCard.getBank_card();

                    mCardNumberText.setText(area);

                    dialog.dismiss();

                }

            });

            Button closeBtn = (Button) contentView.findViewById(R.id.close);

            closeBtn.setClickable(true);

            closeBtn.setOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                    dialog.dismiss();

                }

            });

      dialog.show();

  • 0 评论