首页 > 编程语言 >直播商城源码,PopupWindow菜单在ListView中显示

直播商城源码,PopupWindow菜单在ListView中显示

时间:2023-04-25 14:37:09浏览次数:51  
标签:PopupWindow layoutParams 源码 mOperaPopup getWindow ListView View

直播商城源码,PopupWindow菜单在ListView中显示

    private PopupWindow mOperaPopup;
    private void showMenuPopup(View anchor)
    {
        if(mOperaPopup==null)
        {
            View popupView=View.inflate(mContext,R.layout.popup_opera_subject,null);
            mOperaPopup=new PopupWindow(mContext);
            mOperaPopup.setBackgroundDrawable(new ColorDrawable(
                    mContext.getResources().getColor(R.color.transparent)));
            mOperaPopup.setContentView(popupView);
            mOperaPopup.setFocusable(true);
            mOperaPopup.setOutsideTouchable(true);
            //ppw消息监听,让整体背景恢复到正常
            mOperaPopup.setOnDismissListener(new PopupWindow.OnDismissListener() {
                @Override
                public void onDismiss() {
                    WindowManager.LayoutParams layoutParams=mActivity.getWindow().getAttributes();
                    layoutParams.alpha=1.0f;
                    mActivity.getWindow().setAttributes(layoutParams);
                }
            });
            //手机返回键监听,让ppw消失
            popupView.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    if (keyCode == KeyEvent.KEYCODE_BACK) {
                        mOperaPopup.dismiss();
                        return true;
                    }
                    return false;
                }
            });
        }
        int offX=ScreenInfomationLoader.getInstance().dpToPx(107);//适配自定义偏移距离(根据具体布局)
        //gravity是表示ppw相对于anchor的左边距还是右边距,x方向向右为正,y方法,向下为正
        mOperaPopup.showAsDropDown(anchor,-offX,0,Gravity.LEFT);
        WindowManager.LayoutParams layoutParams=mActivity.getWindow().getAttributes();
        layoutParams.alpha=0.8f;//通过透明度控制整体背景变暗,值越大,越透明;值越小,越暗。
        mActivity.getWindow().setAttributes(layoutParams);
    }

​以上就是 直播商城源码,PopupWindow菜单在ListView中显示,更多内容欢迎关注之后的文章

 

标签:PopupWindow,layoutParams,源码,mOperaPopup,getWindow,ListView,View
From: https://www.cnblogs.com/yunbaomengnan/p/17352472.html

相关文章

  • Android源码在线查看网站
    一、aospxrefhttp://aospxref.com/优点:更新速度快缺点:历史版本较少二、androidxrefhttp://androidxref.com/优点:历史版本较多缺点:更新速度慢两者可搭配使用。非常便利三、Google在线源码上面两个的平台存在如下几点问题:搜索关键字困难且不精确,特别是对有括号和“_”的......
  • 分享Python采集88个NET电子商务源码,总有一款适合您
    Python采集的88个NET电子商务源码下载链接:百度网盘请输入提取码 提取码:c0gh编辑众筹系统(RaiseDreams众筹梦想)V2.1.6云点滴客户关系管理CRMOA系统V1.02.13云点滴客户解决方案V1.0.0创想商务B2B网站管理系统V3.1冰兔(Btoo)网店系统V6.39ASP.NET4.0电子商城MVC+EF水果市场2......
  • 环保家具网站源码
    演示地址:www.m1.wuhaojie.cn 包含了网站首页;关于我们; 新闻动态;产品中心;案例展示;荣誉资质;招商加盟;联系我们;等多个版块,可以快速搭建家装设计品牌招商官网1.品牌展示:网站可以展示各种家具品牌的产品和服务,包括品牌介绍、产品展示、服务范围等,便于用户了解品牌的相......
  • 内核源码解读基础
    module_init宏的定义第一段代码:typedefint(*initcall_t)(void);......#define__define_initcall(level,fn,id)\staticinitcall_t__initcall_##fn##id__attribute_used_\__attribute__((__section__(".initcall"level".init")))=fn......#def......
  • vue2源码-十四、computed和watch的区别
    computed和watch的区别computed和watch的相同点。底层都会创建一个watcher(用法的区别:computed定义的属性可以在模板中使用,watch不能在视图中使用)computed默认不会执行只有取值的时候才会执行内部会维护一个dirty属性,来控制依赖的值是否发生变化。默认计算属性需要同......
  • Python学习笔记--json序列化时间报错-改源码
    问题:转换时间报错执行代码为:importjsonfromdatetimeimportdate,datetimed={"time1":date.today(),"time2":datetime.today()}res=json.dumps(d)#报错  TypeError:ObjectoftypedateisnotJSONserializable方案1:手动转换str()方案2:继承类......
  • 开源外卖系统源码解析:如何快速搭建属于自己的订餐平台?
    随着外卖市场的日益壮大,许多商家和个人都在考虑如何搭建一个属于自己的订餐平台。而在这个过程中,开源外卖系统源码无疑是一项不可或缺的资源。本文将以“开源外卖系统源码解析:如何快速搭建属于自己的订餐平台?”为主题,向您介绍外卖系统的相关内容,帮助您更好地了解如何利用现有的开源......
  • 一文详解RocketMQ-Spring的源码解析与实战
    摘要:这篇文章主要介绍SpringBoot项目使用rocketmq-springSDK实现消息收发的操作流程,同时笔者会从开发者的角度解读SDK的设计逻辑。本文分享自华为云社区《RocketMQ-Spring:实战与源码解析一网打尽》,作者:勇哥java实战分享。RocketMQ是大家耳熟能详的消息队列,开源项目......
  • 视频直播源码,android动画小飞机旋转效果
    视频直播源码,android动画小飞机旋转效果 //小飞机旋转动效果publicclassPlaneViewextendsView{  privatePaintpaint;  privateintwidth;  privateintheight;  privatefloatcurLength;  privatefloatallLength;  privatefloatmAnimato......
  • FutureTask源码分析
    1、Callable与FutureTask介绍1.1、Callable创建线程有两种方式,一种是继承Thread类,一种是实现Runnable接口重写run方法。其实Thread也实现了Runable接口。在Runable接口中,仅有一个无参无返回结果的run方法。Runable接口详情:1@FunctionalInterface2publicinterfa......