超简单的PopupWindow,拿来直接使用 public class PopupWindowActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main10); TextView popupWindow = findViewById(R.id.popupWindow); popupWindow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { poPupWindow(); } }); } private void poPupWindow() { View view = LayoutInflater.from(this).inflate(R.layout.layout_photo_select, null); TextView btnCamera = (TextView) view.findViewById(R.id.btn_camera); TextView btnPhoto = (TextView) view.findViewById(R.id.btn_photo); TextView btnCancel = (TextView) view.findViewById(R.id.btn_cancel); final PopupWindow popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); popupWindow.setBackgroundDrawable(getResources().getDrawable(android.R.color.transparent)); popupWindow.setOutsideTouchable(true); View parent = LayoutInflater.from(this).inflate(R.layout.activity_main, null); popupWindow.showAtLocation(parent, Gravity.BOTTOM, 0, 0); //popupWindow在弹窗的时候背景半透明 final WindowManager.LayoutParams params = getWindow().getAttributes(); params.alpha = 0.5f; getWindow().setAttributes(params); popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { params.alpha = 1.0f; getWindow().setAttributes(params); } }); btnCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(PopupWindowActivity.this,Main9Activity.class)); popupWindow.dismiss(); } }); btnPhoto.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(PopupWindowActivity.this,Main8Activity.class)); popupWindow.dismiss(); } }); btnCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(PopupWindowActivity.this,Main7Activity.class)); popupWindow.dismiss(); } }); } }
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical"> <TextView android:id="@+id/btn_camera" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="拍照" android:textColor="#1079FF" android:textSize="18sp" /> <View android:layout_width="match_parent" android:layout_height="1px" android:background="#C9C9CB" /> <TextView android:id="@+id/btn_photo" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="确定" android:textColor="#1079FF" android:textSize="18sp" /> <View android:layout_width="match_parent" android:layout_height="1px" android:background="#C9C9CB" /> <TextView android:id="@+id/btn_cancel" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="取消" android:textColor="#1079FF" android:textSize="18sp" /> </LinearLayout>