PopupWindowがあり、ユーザーが外部に触れたときに閉じるようにしたかったので、調べてみると、popup.setBackgroundDrawable(new BitmapDrawable());
を使用する必要があることがわかりました。問題は、コンストラクターnew BitmpaDrawable()
が非推奨になることです。使わずに解決策を見つけたいのですが。
誰かがこれを解決する方法を知っていますか?
ありがとう!
final PopupWindow popup = new PopupWindow(sortByView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
true);
popup.setBackgroundDrawable(new BitmapDrawable());
popup.setOutsideTouchable(true);
popup.showAsDropDown(v);
それを機能させるために私がしなければならなかったこと:
popup.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(context, Android.R.color.transparent)));
popup.setOutsideTouchable(true);
あなたは試すことができます。
popup.setBackgroundDrawable(new BitmapDrawable(getResources(),
""));
うーんsetBackgroundDrawableはポップアップウィンドウを閉じません。ポップアップウィンドウのデフォルトの動作は、外側に触れると閉じることだと思いますが、そのようなonDismissリスナーを追加することもできます
popup.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
popup.dismiss();
// end may TODO anything else
}
});