弹窗视图
微信、qq等右上角+点击弹出菜单
自定义弹窗视图()Menu
其中setWidth、setHeight和setContentView三者必须实现,否则将不会显示任何视图。 setContentView则是为PopupWindow设置视图内容。
https://blog.csdn.net/harvic880925/article/details/49272285
实现步骤
- 1、创建一个类继承PopupWindow、
- 2、自定义视图用于显示界面
- 3、初始化试图
- 4、初始化弹窗
- 5、设置弹窗的背景
- 6、设置弹窗的显示位置
- 7、实现每个View点击事件
1、创建类继承PopupWindow
public class AddMenuPopup extends PopupWindow implements View.OnClickListener {
2、创建显示的视图
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/build_chat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="25dp">
<ImageView
android:id="@+id/chatAt_img"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/nav_toys4"/>
<TextView
android:id="@+id/chat_txt"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginLeft="5dp"
android:gravity="center_vertical"
android:text="创建群聊"
android:textSize="16sp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/add_friends"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="25dp">
<ImageView
android:id="@+id/Add_img"
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/nav_toys4"/>
<TextView
android:id="@+id/Add_txt"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginLeft="5dp"
android:gravity="center_vertical"
android:text="添加好友"
android:textSize="16sp"/>
</LinearLayout>
</LinearLayout>
3、初始化视图
private void initView() {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.popup_menu_windows,null);
chatAtView = view.findViewById(R.id.build_chat);
addFrienView = view.