如何在程序中更改AlertDialog大小?

时间:2014-03-18 15:04:53

标签: android alertdialog

我有AlertDialog,我想调整其大小,只是为了适应文字的长度和高度。我的工作如下:

AlertDialog dialog = new AlertDialog.Builder(thisActivity);
dialog.setMessage(curitem.getTitle());
dialog.show();                                                    

TextView textView = (TextView) dialog.findViewById(android.R.id.message);
textView.setTextSize(7);
textView.setGravity(1); 

我可以更改文字大小和字体。但我不能调整dialog的大小。如何使对话框大小恰好适合文本长度和高度?

2 个答案:

答案 0 :(得分:1)

你可以尝试

dialog.getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

或您想要的任何其他整数值。

答案 1 :(得分:0)

此代码可能会对您有所帮助。在此代码中您需要进行一些修改(根据您的要求提供您的高度和宽度)。

Dialog dialog;
 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
 dialog = builder.create();
 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
 dialog.setContentView(R.layout.activity_main);
 dialog.setTitle("my dialog");


 WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();
 wmlp.gravity = Gravity.TOP | Gravity.LEFT;

 DisplayMetrics metrics = getResources().getDisplayMetrics();
 int width = metrics.widthPixels;
 int height = metrics.heightPixels;

 wmlp.x = 100;   //x position
 wmlp.y =  height/2;   //`y position
 dialog.show();