我使用下面的代码显示一个对话框:
private AlertDialog MyDialog;
public void adddialog() {
AlertDialog.Builder MyBuilder = new AlertDialog.Builder(this);
MyBuilder.setTitle("Title")
MyBuilder .setView(ListView);
MyDialog = MyBuilder.create();
}
ListView可能会取消修复行 但是我希望得到MyDialog的高度 我该怎么做才能搞定?
答案 0 :(得分:0)
您可以使用listView对象的getHeight()而不是获取对话框的高度。
答案 1 :(得分:0)
为了获得ListView
可见高度,您需要获得列表的one row
高度并乘以元素数量(目前可见)。
像这样。
Adapter ListAdapter = listview.getAdapter();
View mView = ListAdapter.getView(0, null, listview);
mView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
int requiredHeight = listview.getChildCount() * mView.getMeasuredHeight();
答案 2 :(得分:0)
我检查了高度,这意味着有关视图有多高的信息.. 也许你可以尝试这样: 你可以通过以下方式获得高度:
int height = MyDialog.getWindow().getDecorView().getHeight();
此外,您可以设置高度:
MyDialog.getWindow().setLayout(width, height);
注意:应在MyDialog.show();