PopupWindow
val textView = TextView(this)
textView.text = "你好啊"
val popupWindow = PopupWindow()
popupWindow.contentView = textView
popupWindow.width = 300
popupWindow.height = 200
//设置点击其他地方,是否可以消失
popupWindow.isOutsideTouchable = true
//设置焦点,点击返回键,消失
popupWindow.isFocusable = true
popupWindow.showAsDropDown(it)
解决android 7.0调用showAsDropDown方法失效问题
重写showAsDropDown方法
@Override
public void showAsDropDown(View anchor) {
if(Build.VERSION.SDK_INT >= 24) {
Rect rect = new Rect();
anchor.getGlobalVisibleRect(rect);
DisplayMetrics outMetrics = new DisplayMetrics();
Context context = anchor.getContext();
((Activity) context).getWindowManager().getDefaultDisplay().getRealMetrics(outMetrics);
int h = outMetrics.heightPixels - rect.bottom;
setHeight(h);
}
super.showAsDropDown(anchor);
}