右上角➕自定义菜单栏

本文介绍了如何在Android中实现右上角点击加号弹出自定义菜单的弹窗视图,详细讲解了创建PopupWindow子类、初始化视图、设置弹窗位置和点击事件的实现步骤。此外,还提到了窗口焦点、更新状态以及弹窗动画的配置方法,并给出了动画资源文件的创建和引用示例。
摘要由CSDN通过智能技术生成

弹窗视图

微信、qq等右上角+点击弹出菜单

自定义弹窗视图()Menu
其中setWidth、setHeight和setContentView三者必须实现,否则将不会显示任何视图。 setContentView则是为PopupWindow设置视图内容。

https://blog.csdn.net/harvic880925/article/details/49272285

实现步骤

  1. 1、创建一个类继承PopupWindow、
  2. 2、自定义视图用于显示界面
  3. 3、初始化试图
  4. 4、初始化弹窗
  5. 5、设置弹窗的背景
  6. 6、设置弹窗的显示位置
  7. 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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值