目录

ps:如果你觉得对你有帮助的话,麻烦点个赞加个关注

  • 效果图:
  • Android实现微信右上角弹出的菜单_第1张图片
  • 代码:

res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:background="@drawable/bg"    tools:context=".MainActivity">    <!--微信-->    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/text_title"        android:textColor="#FFFFFF"        android:textSize="25sp"></TextView>    <!--菜单按钮-->    <Button        android:layout_width="40dp"        android:layout_height="40dp"        android:id="@+id/btn_menu"        android:layout_alignParentRight="true"        android:onClick="OnMenu"        android:background="@drawable/btn_add"></Button></RelativeLayout>

res/layout/menu.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="right">    <!--菜单发起群聊-->    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginRight="10dp"        android:layout_weight="1"        android:background="#333333"        android:drawableLeft="@drawable/icon_group"        android:drawablePadding="10dp"        android:paddingLeft="20dp"        android:padding="58dp"        android:text="@string/text_group"        android:textColor="#FFFFFF"        android:textSize="18sp"></Button>    <!--菜单添加好友-->    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginRight="10dp"        android:layout_weight="1"        android:background="#333333"        android:drawableLeft="@drawable/icon_add"        android:drawablePadding="10dp"        android:paddingLeft="20dp"        android:padding="58dp"        android:text="@string/text_add"        android:textColor="#FFFFFF"        android:textSize="18sp"></Button>    <!--菜单扫一扫-->    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginRight="10dp"        android:layout_weight="1"        android:background="#333333"        android:drawableLeft="@drawable/icon_scan"        android:drawablePadding="10dp"        android:paddingLeft="20dp"        android:padding="67dp"        android:text="@string/text_sweep"        android:textColor="#FFFFFF"        android:textSize="18sp"></Button>    <!--菜单首付款-->    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginRight="10dp"        android:layout_weight="1"        android:background="#333333"        android:drawableLeft="@drawable/icon_card"        android:drawablePadding="10dp"        android:paddingLeft="20dp"        android:padding="67dp"        android:text="@string/text_collect"        android:textColor="#FFFFFF"        android:textSize="18sp"></Button>    <!--菜单帮助与反馈-->    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginRight="10dp"        android:layout_weight="1"        android:background="#333333"        android:drawableLeft="@drawable/icon_help"        android:drawablePadding="10dp"        android:paddingLeft="20dp"        android:padding="50dp"        android:text="@string/text_help"        android:textColor="#FFFFFF"        android:textSize="18sp"></Button></LinearLayout>

res/values/strings.xml

<resources>    <string name="app_name">微信</string>    <string name="text_title">微信</string>    <string name="text_group">发起群聊</string>    <string name="text_add">添加好友</string>    <string name="text_sweep">扫一扫</string>    <string name="text_collect">收付款</string>    <string name="text_help">帮助与反馈</string></resources>

res/values/styles.xml

<resources>    <!-- Base application theme. -->    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">        <!-- Customize your theme here. -->        <item name="colorPrimary">@color/colorPrimary</item>        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>        <item name="colorAccent">@color/colorAccent</item>    </style></resources>

java/MainActivity

package com.example.bluetooth01;import androidx.appcompat.app.ActionBar;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.MotionEvent;import android.view.View;import android.widget.PopupWindow;public class MainActivity extends AppCompatActivity {     PopupWindow popupWindow;//定义popupWindow    @Override    protected void onCreate(Bundle savedInstanceState) {             super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    //菜单按钮的单机事件    public void OnMenu(View v){             //获取自定义菜单的布局文件        View popupWindow_view=getLayoutInflater().inflate(R.layout.menu,null,false);        //创建popupWindow实例,设置菜单的宽度和高度        popupWindow=new PopupWindow(popupWindow_view, ActionBar.LayoutParams.WRAP_CONTENT,ActionBar.LayoutParams.WRAP_CONTENT,true);        //设置菜单显示在按钮的下面        popupWindow.showAsDropDown(findViewById(R.id.btn_menu),0,0);        //单机其它位置隐藏菜单        popupWindow_view.setOnTouchListener(new View.OnTouchListener(){                 @Override            public boolean onTouch(View v, MotionEvent event){                     //如果菜单存在并且处于显示状态                if (popupWindow!=null&&popupWindow.isShowing()){                         popupWindow.dismiss();//关闭菜单                    popupWindow=null;                }                return false;            }        });    }}

更多相关文章

  1. cocos2d-x编译到android平台后,增加返回键和菜单键支持
  2. Android:实现一种浮动选择菜单的效果
  3. Android studio 点击按钮跳转到新的Activity
  4. Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上
  5. Android的底部菜单

随机推荐

  1. Centos 6.4源码安装mysql-5.6.28.tar.gz
  2. linux下源码安装mysql5.6.20教程
  3. CentOS 6.4下编译安装MySQL5.6.14教程
  4. linux二进制通用包安装mysql5.6.20教程
  5. mysql运行net start mysql报服务名无效的
  6. mysql中错误:1093-You can’t specify tar
  7. Linux虚拟机下mysql 5.7安装配置方法图文
  8. Mac下mysql5.7.10安装教程
  9. 记录无法安装mysql-Invalid GPG Key from
  10. MySql修改密码后phpMyAdmin无法登陆的解