旧版listview点击条目弹出popupwindow,同样适用于recycleview。
// syw 长按事件处理
lvEventList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
showDeletePopWindow(view);
return true;//为true时,消耗掉点击事件,onItemClick不再调用
}
});
private void showDeletePopWindow(View view) {
View convertview = View.inflate(getActivity(),R.layout.item_delete , null);
TextView tv_delete=convertview.findViewById(R.id.tv_delete);
PopupWindow subjectWindow = new PopupWindow(convertview, -2, -2, true);
subjectWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
subjectWindow.showAsDropDown(view,view.getWidth()-subjectWindow.getWidth(),-view.getHeight(),Gravity.CENTER);
backgroundAlpha(0.5f);
subjectWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
backgroundAlpha(1.0f);
}
});
subjectWindow.update();
}
<?xml version="1.0" encoding="utf-8"?>
<com.beijingyiling.maopai.ui.MyAutoLinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:background="@color/white"
android:id="@+id/tv_delete"
android:layout_width="wrap_content"
android:text="点击删除"
android:paddingRight="20px"
android:paddingLeft="20px"
android:textSize="26px"
android:gravity="center"
android:minHeight="120px"
android:layout_height="wrap_content" />
</com.beijingyiling.maopai.ui.MyAutoLinearLayout>