无标题Dialog

废话不多说,上关键代码,懒得上传截图,请见谅,直接上核心代码:

1.点击按钮监听启动dialog:

  @Override
    public void onClick(View view) {
        showDialog();
    } 
2.设置弹框显示属性
 private void showDialog() {
        ListView listView;
        dialog = new Dialog(MainActivity.this);//写在主程序中,有需要自己更改
        LayoutInflater layoutInflater = getLayoutInflater();
        View view = layoutInflater.inflate(R.layout.popuwindow,null);
        listView = (ListView) view.findViewById( R.id.lv);
        listView.setOnItemClickListener(this);
        madapter = new Madapter(getApplicationContext());
        madapter.addlist();
        listView.setAdapter(madapter);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//在setContentView()前加入去标题设置
        dialog.setContentView(view);
        dialog.show();
        WindowManager m = getWindowManager();
        Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
        WindowManager.LayoutParams p = dialog.getWindow().getAttributes(); // 获取对话框当前的参数值
        p.width = WindowManager.LayoutParams.WRAP_CONTENT;
        p.height = WindowManager.LayoutParams.WRAP_CONTENT;
//        p.height =  (int)(d.getHeight() * 0.8); // 高度设置为屏幕的0.6
//        p.width = (int)(d.getWidth() * 0.65); // 宽度设置为屏幕的0.95
        dialog.getWindow().setAttributes(p);
        dialog.getWindow().setGravity( R.id.button);//设置具体位置//这里设置在右下方,具体原因,我也不知道
        dialog.getWindow().setGravity(Gravity.CENTER);
        dialog.setCanceledOnTouchOutside(true);//点击费弹出框位置取消
  } 
3.适配器设置
  public Madapter(Context applicationContext) {
        this.context = applicationContext;
    }

    static class ViewHolder{
        TextView text;
    }//viewHolder这里设置listview_item其它属性
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView==null){
        convertView = LayoutInflater.from(context).inflate(R.layout.lv_item,null);
        holder = new ViewHolder();
        holder.text = (TextView) convertView.findViewById( R.id.lv_text);
        convertView.setTag(holder);
    }{
         holder = (ViewHolder) convertView.getTag();
        }
        holder.text.setText(list.get(position).toString());
        holder.text.setTextColor(Color.BLACK);//设置显示文字颜色,不加这句代码,颜色是白色,具体原因我也不知道
        holder.text.setGravity(Gravity.CENTER);
    return  convertView;
    } 
4.这里仅仅设置显示的文本,有更好的方法希望大家指出,不甚感激
 public void addlist() {
        if (list==null){
            list = new ArrayList();
            String one = "1111";
            String two = "2222";
            String three = "3333";
            list.add(one);
            list.add(two);
            list.add(three);
        }
    }


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值