Я создаю всплывающее окно со списком в событии onListItemClick.
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. Я думаю, это потому, что макет еще не отрисован. У кого-нибудь есть подсказка, как я могу контролировать размер всплывающего окна без необходимости использовать абсолютные числа пикселей?