【问题标题】:Dialog Box doesn't expands its height对话框不扩展其高度
【发布时间】:2015-11-26 22:25:18
【问题描述】:

我在 stackoverflow 上看到一些帖子来更改对话框的高度和宽度,但是当我在我的代码中实现它时,对话框没有响应它。 在这里,我附上了一些我用于对话框的 sn-p。

请大家帮我解决一下!!!

使用的代码

LayoutInflater li = LayoutInflater.from(Inv.this);
            View promptsView = li.inflate(R.layout.importdata, null);

            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                    InventoryCount.this);

            alertDialogBuilder.setView(promptsView);            



            // Listener1 of promptsView 
            // Listener2 of promptsView 
            // Listener3 of promptsView 





            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialogBuilder.setTitle("Any Thing");
            alertDialog.getWindow().setLayout(300, 900);            
            alertDialog.show();

【问题讨论】:

标签: android android-alertdialog


【解决方案1】:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder
.setMessage("Message")
.setNeutralButton("ok",null)
.show().getWindow().
setLayout(displaymetrics.widthPixels / 3, displaymetrics.heightPixels / 2);

【讨论】:

  • 已尝试但无法扩展我的对话框构建器高度。
【解决方案2】:
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
            this);

    alertDialogBuilder
            .setMessage("Mwssage")
            .setNeutralButton("Ok", null).show().getWindow().setLayout(300,900);

或者您可以使用 Builder 设置体重和高度,但在“显示”方法之后。

【讨论】:

  • 我尝试了您在编辑的博客中提到的方式,但我一直在使用 setLayout(300,1200) 而不是 setLayout(300,1200) 并且布局向上移动它不会像我想要的那样垂直扩展。 @ Azazellj Nevmerzhytskyi
  • 如果您的设备屏幕尺寸小于对话框尺寸 - 它将处于水平状态。
  • 你知道如何垂直展开我的对话框吗??
  • 现在我正在使用标签
【解决方案3】:

您可以直接在xml文件layout/importdata.xml中设置宽度和高度参数来更改布局尺寸

或以这种方式以编程方式更改它:

View view_instance = (View)findViewById(R.layout.importdata);
LayoutParams params = view_instance.getLayoutParams();
params.width = your_new_width;
params.height = your_new_height;
view_instance.setLayoutParams(params);

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2020-09-09
    • 2011-01-09
    • 1970-01-01
    相关资源
    最近更新 更多