我用下面的代码显示一个dialog:
private AlertDialog MyDialog;
public void adddialog() {
AlertDialog.Builder MyBuilder = new AlertDialog.Builder(this);
MyBuilder.setTitle("Title")
MyBuilder .setView(ListView);
MyDialog = MyBuilder.create();
}
ListView 也不能设定 rows。
但是我想获得 MyDialog 的高度。
如何获取呢?
那得计算每一个ItemView的高度
Adapter listAdapter = listView.getAdapter();
View itemView = listAdapter.getView(position, null, listView); //position表示itemView的index
itemView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
int currentItmeHeight = itemView.getMeasuredHeight();
总高度就是各个itemView的高度和。
看源码看的 不知道这样行不行,没测试
WindowManager.LayoutParams layout= MyDialog.getWindow().getAttributes();
layout.width =
layout.height