나는 onListItemClick 이벤트의 listactivity에서 팝업 창을 만들고 있습니다.android의 팝업 창 크기
LayoutInflater inflater = (LayoutInflater)
this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View pop = inflater.inflate(R.layout.popupcontact, null, false);
ImageView atnot = (ImageView)pop.findViewById(R.id.aNot);
height = pop.getMeasuredHeight();
width = pop.getMeasuredWidth();
Log.e("pw","height: "+String.valueOf(height)+", width: "+String.valueOf(width));
atnot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pw.dismiss();
}
});
pw = new PopupWindow(pop, width, height, true);
// The code below assumes that the root container has an id called 'main'
//pw.showAtLocation(v, Gravity.CENTER, 0, 0);
pw.showAsDropDown(v, 10, 5);
높이 및 너비 변수는 팝업 창 (popupcontact)에 사용 된 레이아웃의 높이 및 너비로 간주됩니다. 하지만 그들은 0을 반환합니다. 레이아웃이 아직 렌더링되지 않았기 때문입니다. 아무도 단서를 가지고, 어떻게 절대 픽셀 번호를 사용하지 않고도 팝업 창의 크기를 제어 할 수 있습니까?
암 같은 문제에 직면) getMeasuredHeight()와 getMeasuredWidth (와 레이아웃의 크기를 얻기 전에. 이것은 작동하지만, 원래의 – vignesh
위의 코드가 널 포인터 예외가되는 높이를 줄입니다. – Amrut