Android:自定义布局的DialogFragment的宽度没有像AlertDialog那样完全显示
创始人
2024-10-14 01:00:24
0

要解决“Android:自定义布局的DialogFragment的宽度没有像AlertDialog那样完全显示”的问题,可以尝试以下方法:

  1. 在DialogFragment的onCreateView方法中,为根布局设置固定的宽度。例如,使用LayoutParams参数来设置宽度为屏幕宽度的80%:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_dialog, container, false);
    
    // 获取屏幕宽度
    DisplayMetrics metrics = new DisplayMetrics();
    getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
    int screenWidth = metrics.widthPixels;

    // 设置宽度为屏幕宽度的80%
    int dialogWidth = (int) (screenWidth * 0.8);
    view.setLayoutParams(new ViewGroup.LayoutParams(dialogWidth, ViewGroup.LayoutParams.WRAP_CONTENT));
    
    return view;
}
  1. 在DialogFragment的onStart方法中,设置Dialog的宽度为屏幕宽度的80%:
@Override
public void onStart() {
    super.onStart();
    
    // 获取Dialog对象
    Dialog dialog = getDialog();
    
    // 设置宽度为屏幕宽度的80%
    if (dialog != null) {
        int dialogWidth = (int) (getResources().getDisplayMetrics().widthPixels * 0.8);
        dialog.getWindow().setLayout(dialogWidth, ViewGroup.LayoutParams.WRAP_CONTENT);
    }
}

这两种方法都可以根据屏幕宽度的百分比来设置Dialog的宽度。你可以根据自己的需求调整百分比值。

相关内容

热门资讯

微乐小程序真的有挂!微乐家乡小... 微乐小程序真的有挂!微乐家乡小程序修改器(开挂)教程-一贯分享存在有挂1、点击下载安装,脚本分类一目...
微信小程序黑科技免费!小程序微... 微信小程序黑科技免费!小程序微乐贵阳捉鸡麻将挂(开挂)脚本-切实辅助是有挂1、上手简单,内置详细流程...
微乐小程序透视挂!微乐自建房脚... 微乐小程序透视挂!微乐自建房脚本最新版本更新内容(开挂)神器-确实推荐真的有挂1、有没有辅助教程、有...
微信小程序黑科技免费!微乐小程... 微信小程序黑科技免费!微乐小程序自建房辅助ios(开挂)软件-都是有挂真的是有挂1、下载好正确养号方...
微乐小程序透视辅助!微乐小程序... 微乐小程序透视辅助!微乐小程序自建房透视(开挂)技巧-确实解迷真的有挂1、完成辅助器v3.3的残局,...
微乐小程序透视辅助!微信微乐游... 微乐小程序透视辅助!微信微乐游戏破解器(开挂)器-都是辅助存在有挂1、操作简单,无需手机版透视脚本,...
微乐小程序透视挂!微乐家乡ap... 微乐小程序透视挂!微乐家乡app辅助器(开挂)挂-总是专业真的有挂1、每一步都需要思考,不同水平的挑...
微乐小程序黑科技!苹果手机微信... 微乐小程序黑科技!苹果手机微信小程序游戏破解器(开挂)工具-切实详情存在有挂1、打开软件启动之后找到...
微乐小程序透视挂!微乐自建房免... 微乐小程序透视挂!微乐自建房免费黑科技下载(开挂)app-其实科普有挂能透视中分为三种模型:模拟器、...
微信小程序黑科技免费!微乐小程... 微信小程序黑科技免费!微乐小程序黑科技免费(开挂)器-一直解密是真的挂1、在插件功能辅助器技巧中,中...