android 如何设置自定义dialog的宽度

遇到这个情况我也是无奈的很,因为出现的dialog和预想的差大多,
宽度明显太小,而且会随着你的dialog里面显示的内容的大小而变化,
所以在这里我上网查了一下,发现一个很不错的方法
就是将宽度设置成为屏幕的宽度
代码如下:

 dialog = new MyAlertDialog(ApplyActivity.this);
        dialog.show();
        //在你的show()方法后面加上这几天代码就搞定
        --------------------------------------------
        WindowManager windowManager = getWindowManager();
        Display display = windowManager.getDefaultDisplay();
        WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
        lp.width = (int)(display.getWidth()); //设置宽度
        dialog.getWindow().setAttributes(lp);
        ----------------------------------------------
        tvmsg = (TextView) dialog.findViewById(R.id.tv_mdialog_msg);
        tvfou = (TextView) dialog.findViewById(R.id.tv_mdialgo_fou);
        tvshi = (TextView) dialog.findViewById(R.id.tv_mdialgo_shi);
        tvmsg.setText(msg);
        tvshi.setOnClickListener(this);
        tvfou.setOnClickListener(this);

注:
自定义dialog时容易出现的一个错误是__空指针
当你把你的show()方法放到findbyid()的后面是就会出现
最好的是new出来就调用他的show()方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值