我正在使用edittext显示对话框。我想问一下如何设置对话框的高度。我用过et_input.setHeight(100);但这接受像素中的值,这将取决于手机。是否有任何常见的方法来实现这一点。
以下是代码:
public String inputPopUp(Context context)
{
inputBuilder=new AlertDialog.Builder(context);
final EditText et_input=new EditText(context);
et_input.setHint("Enter Description");
et_input.setHeight(100);
inputBuilder.setView(et_input);
inputBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
mealDesc=et_input.getText().toString();
}
});
inputBuilder.show();
return mealDesc;
}
答案 0 :(得分:1)
在app的dimens.xml文件中定义维度。 dimens.xml根据不同的设备大小而不同。详细了解:Dimensions
执行此操作后,请按以下方式更改您的代码:
et_input.setHeight(MainActivity.this.getResources().getDimensionPixelSize(R.dimen.activity_horizontal_margin));
答案 1 :(得分:0)
您可以使用将在xml文件中使用的Android默认值,如下所示:layout_height="?listPreferredItemHeight"
然后它将自动适应屏幕大小。或者你可以在values-hdpi,values-mdpi,...中定义几个dimens.xml。你将添加一个像<dimen name="edittext_height">30dp</dimen>
这样的键,并在每个文件夹中更改它的值。但第二种解决方案需要更多的工作,而且不是很稳定......