3

ポップアップを閉じる代わりに、-width、-heigtの位置で画面の外に非表示にします。画面外のポップアップを更新しようとすると、親ビューの境界で停止します。オフスクリーンまたはセミオフスクリーンで更新するにはどうすればよいですか?

   View view = LayoutInflater.from(getBaseContext()).inflate(R.layout.mylayout,null);
    pop = new PopupWindow(this);
    pop.setTouchable(false);
    pop.setHeight(200);
    pop.setWidth(200);
    pop.setContentView(view);
    pop.showAtLocation(myparentview, 0, 50, 50);    
    pop.update(-200,-200,-1,-1);

問題のスナップショット: 0,0を渡さない

4

2 に答える 2

12

setClippingEnabled足りないのはwithを使っていると思いますfalse

http://developer.android.com/reference/android/widget/PopupWindow.html#setClippingEnabled(boolean)

呼び出す前にupdate()呼び出す必要があります。これにより、画面の境界の外側にウィンドウをペイントできるようになります。

于 2012-12-26T12:17:06.443 に答える
0

よくわかりませんが、これを試してみてください。

使用するデバイスに応じて、ポップウィンドウの幅と高さを適用します。ここのように、 200*200を適用します。この高さと幅のランタイムを適用するだけです。

于 2012-12-26T05:17:04.917 に答える