0

私はアンドロイドにポップアップウィンドウを持っています.アンドロイド画面のXとYの位置の平均を私に言うことができます.スクリーンウィンドウを参照するか、ウィンドウをポップするボタンを参照します. これは私のコードです

       int[] location = new int[2];
            Object position = null;
            Object currentRowId = position;
            View currentRow = v;    

            v.getLocationOnScreen(location);


            Point point = new Point();
            point.x = location[0];
            point.y = location[1];



       PopupWindow changeStatusPopUp = new PopupWindow(context);
       changeStatusPopUp.setContentView(layout);
       changeStatusPopUp.setWidth(165);
       changeStatusPopUp.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
       changeStatusPopUp.setFocusable(true);


       int OFFSET_X = -80;
       int OFFSET_Y = 50;


       changeStatusPopUp.setBackgroundDrawable(new BitmapDrawable());


       changeStatusPopUp.showAtLocation(layout, Gravity.NO_GRAVITY, p.x + 
                   OFFSET_X, p.y + OFFSET_Y);
4

2 に答える 2

0

X、Y オフセットは、アンカー ビューが属するウィンドウに相対的です。オフセットは、ウィンドウ内のアンカーの位置を基準にする必要があります。getWindowVisibleDisplayFrameを使用して、アンカーの位置を取得できます。

于 2014-06-24T07:48:18.797 に答える