android PopupWindow设置

news2024/11/29 11:34:09

记录一个小功能,使用场景,列表项点击弹出

如图:

java类代码:

public class PopupUtil extends PopupWindow {
    private Activity context;
    private View view;
    private ListView listView;
    private TextView m_tv_reminderm, m_tv_Wallpaper_List;
    private ArrayList<String> arrayList;
    private String txtContent;

    public PopupUtil(Activity context, View parent,String txt) {
        super(context);
        this.context = context;
        this.txtContent=txt;
        //设置弹窗大小
        setWidth(300);
        setHeight(400);
        //设置可以获得焦点
        setFocusable(true);
        //设置弹窗内可点击
        setTouchable(true);
        //设置弹窗外可点击
        setOutsideTouchable(true);
        //背景
        setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        // setBackgroundDrawable(new BitmapDrawable());
        //加载弹窗布局
        view = LayoutInflater.from(context).inflate(R.layout.popu_menu, null);
        setContentView(view);
        //建立弹窗内容
        initData();
        //显示弹窗, 第一个参数是PopupWindow的锚点,第二和第三个参数分别是PopupWindow相对锚点的x、y偏移
        showAsDropDown(parent, 0, 0);
        // showAtLocation(parent, Gravity.BOTTOM, 0, 0);

    }

    private void initData() {

        m_tv_reminderm = view.findViewById(R.id.tv_reminder);

        m_tv_Wallpaper_List = view.findViewById(R.id.tv_Wallpaper_List);

        m_tv_reminderm.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.KITKAT)
            @Override
            public void onClick(View v) {
                setNotfly();
            }
        });
        m_tv_Wallpaper_List.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.KITKAT)
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(context, SetLockSrceenAct.class);
                intent.putExtra("itemName",txtContent);
                context.startActivity(intent);
                dismiss();
                context.finish();
            }
        });


    }

    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    private void setNotfly() {
        NotifitionDialog dlg = new NotifitionDialog(context);
        if (!NotifyManagerUtils.isNotifyEnabled(context)) {
            dlg.show(new PerDialog.CallbackListener() {
                @Override
                public void onCancel() {
                }

                @Override
                public void onGet() {
                    NotifyManagerUtils.openNotificationSettingsForApp(context);
                }
            });
        } else {
            Intent intent = new Intent(context, SelTimeInFoAct.class);
            context.startActivity(intent);
            dismiss();
            context.finish();

        }


    }

对应的xml布局:

<?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="wrap_content"

    android:orientation="vertical">


    <LinearLayout
        android:id="@+id/ll_show_more"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="right"
        android:background="@drawable/bg_popu_util"
        android:orientation="vertical"

        android:visibility="visible">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginHorizontal="0.5dp"
            android:layout_marginTop="14dp"
            android:background="#FFF0EEF6">

            <TextView
                android:id="@+id/tv_reminder"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:textSize="12dp"
                android:padding="5dp"
                android:text="Reminder"
                android:textColor="#FF010101" />
        </LinearLayout>

        <TextView
            android:id="@+id/tv_Wallpaper_List"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:layout_marginHorizontal="5dp"
            android:layout_marginTop="16dp"
android:textSize="12dp"
            android:text="Lockscreen List"
            android:textColor="#FF010101" />
    </LinearLayout>
</LinearLayout>

最后出发按钮后的调用:

new PopupUtil(context, view,“name”);

                               -END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1215867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React-Router源码分析-History库

history源码 history 在 v5 之前使用单独的包&#xff0c; v6 之后再 router 包中单独实现。 history源码 Action 路由切换的动作类型&#xff0c;包含三种类型&#xff1a; POPREPLACEPUSH Action 枚举&#xff1a; export enum Action {Pop "POP",Push &quo…

BI 数据可视化平台建设(2)—筛选器组件升级实践

作者&#xff1a;vivo 互联网大数据团队-Wang Lei 本文是vivo互联网大数据团队《BI数据可视化平台建设》系列文章第2篇 -筛选器组件。 本文主要介绍了BI数据可视化平台建设中比较核心的筛选器组件&#xff0c; 涉及组件分类、组件库开发等升级实践经验&#xff0c;通过分享一些…

Redis分布式锁(上)

不论面试还是实际工作中&#xff0c;Redis都是避无可避的技术点。在我心里&#xff0c;MySQL和Redis是衡量一个程序员是否“小有所成”的两把标尺。如果他能熟练使用MySQL和Redis&#xff0c;以小化大&#xff0c;充分利用现有资源出色地完成当下需求&#xff0c;说明他已经成长…

性能测试知多少---系统架构分析

之前有对性能需求进行过分析&#xff0c;那篇主要从项目业务、背景等角度如何抽丝剥茧的将项目的需求抽离出来。在我们进行需求的时候也需要对被测项目的架构有一定的认识&#xff0c;如果不了解被测系统的架构&#xff0c;那么在后期的性能分析与调优阶段将无从下手。 简单系…

亚马逊EC2服务器搭建Linux系统宝塔环境

目录 &#x1f4dd;摘要 &#x1f4a1;引言 一. 购买亚马逊服务器EC2 二. 安装Linux系统 三. 在终端安装宝塔 3.1 安装宝塔 3.2安装成功 四. 配置宝塔 五 应用场景 六 代码案例演示 七 为什么选择亚马逊EC2服务器部署&#xff1f; &#x1f4aa; 可靠性和高可用性 灵…

jff2文件系统(一)

jff2概述 JFFS2全称jouranlling Flash File System Version2,即日志文件系统&#xff0c;是Redhat公司开发的开源闪存文件系统&#xff0c;其前身是JFFS, 最早只支持NOR Flash, 自2.6版以后开始支持NAND Flash&#xff0c; 在闪存上使用非常广泛&#xff0c;同时在嵌入式系统中…

ChatGPT Plus暂停注册,用户激增压力太大!

11月15日&#xff0c;OpenAI联合创始人兼首席执行官Sam Altman在社交平台宣布&#xff0c;暂停ChatGPT Plus注册。 Sam表示&#xff0c;在首次开发者大会上发布了自定义GPT、GPT-4 Turbo等一系列重磅产品后&#xff0c;用户激增对服务器产生了巨大压力&#xff0c;不得已才做出…

Java 各种工具类的使用方法

1. 属性拷贝 属性名词和类型相同才能拷贝 import org.springframework.beans.BeanUtils; BeanUtils.copyProperties(dto,wmNews); //dto, wmNews 是两个实体类 dto为源对象&#xff0c;wmNews为目标对象2. list集合转换为string类型 import org.apache.commons.lang3.String…

分布式教程从0到1【1】分布式基础

1 分布式基础概念 1.1 微服务 微服务架构风格&#xff0c;就像是把一个单独的应用程序开发为一套小服务&#xff0c;每个小服务运行在自己的进程中&#xff0c;并使用轻量级机制通信&#xff0c;通常是 HTTP API。这些服务围绕业务能力来构建&#xff0c;并通过完全自动化部署…

ECRS工时分析软件:全面提升生产效率和产能管理的利器

在当今高度竞争的商业环境中&#xff0c;企业需要不断提升生产效率和产能管理以保持竞争优势。ECRS工时分析软件作为一款专业的工具&#xff0c;通过自动导出各种表格和图表&#xff0c;全面涵盖了生产过程中的各种分析和改善活动&#xff0c;为企业提供了提升生产效率和产能管…

数据库.创建表

创建表结构 -- 创建表结构create table tb_user(id int comment ID,唯一标识,username varchar(20) comment 用户名,name varchar(10) comment 姓名,gae int comment 年龄,gender char(1) comment 性别)comment 用户表;

Freeswitch中CHANNEL_HANGUP外呼挂断事件

1.CHANNEL_HANGUP外呼挂断事件 事件详细 ################## 外呼挂断&#xff1a;############################# [EslMessage{contentTypecommand/reply, headers3, body0 lines}] 2023-11-16T03:41:33.5140800 INFO c.e.c.v.s.c.i.FsServerEventHandler - eventReceived:…

洗地机哪个牌子好?2023热门洗地推荐

随着科技的不断发展&#xff0c;智能家居产品成为现代生活的一部分。在这个日新月异的时代&#xff0c;人们追求更便捷、高效的生活方式。洗地机作为一款时尚生活必备的清洁家电产品&#xff0c;正逐渐受到人们的关注和喜爱&#xff0c;面对满目琳琅的洗地机&#xff0c;我们该…

京东联盟flutter插件使用方法

目录 1.京东联盟官网注册申请步骤略~2.安卓端插件配置&#xff1a;3.IOS端插件配置4.其它配置5.京东OAuth授权 文档地址&#xff1a;https://baiyuliang.blog.csdn.net/article/details/134444104 京东联盟flutter插件地址&#xff1a;https://pub.dev/packages/jdkit 1.京东联…

静态共享代理和静态独享有哪些区别?怎么选择?

在软件开发中&#xff0c;静态共享代理&#xff08;Static Proxy&#xff09;和静态独享&#xff08;Monostatic&#xff09;是两种常见的软件设计模式。这两种模式在实现方式、使用场景以及优缺点上存在一定的差异&#xff0c;下面将详细介绍它们的区别以及如何进行选择。 一、…

如何批量在文件名中加标点符号?

如何批量在文件名中加标点符号&#xff1f;标点符号在文件名中的作用通常是用来分隔不同部分的内容&#xff0c;或者用来表示特定的含义。例如&#xff0c;下划线"_" 可以用来连接文件名的不同部分&#xff0c;使得文件名更易于阅读和理解。另外&#xff0c;使用连字…

新生儿腿纹不对称:原因、科普和注意事项

引言&#xff1a; 新生儿身上出现腿纹不对称的现象在一些家庭中可能引起担忧&#xff0c;然而&#xff0c;了解这一现象的原因以及如何正确处理是非常重要的。本文将科普新生儿腿纹不对称的原因&#xff0c;提供相关信息&#xff0c;并为父母和监护人提供注意事项&#xff0c;…

通往优秀软件架构师之路:掌握技术核心,修炼基础原理【文中送书,十本任选】

通往优秀软件架构师之路&#xff1a;掌握技术核心&#xff0c;修炼基础原理 《高并发架构实战&#xff1a;从需求分析到系统设计》《架构师的自我修炼&#xff1a;技术、架构和未来》《中台架构与实现&#xff1a;基于DDD和微服务》《分布式系统架构&#xff1a;架构策略与难题…

elementui 实现树形控件单选

实现&#xff1a; <!--author: itmacydesc: 树节点单选 --> <template><div class"about"><el-tree :data"data"ref"tree":props"defaultProps"node-key"id"show-checkboxcheck-strictlycheck-change…

2-10岁女童冬季穿搭怎么选?麻麻们看这里

分享适合女宝的羽绒服穿搭 这种黄色真的超好看 吸睛显白怎么穿都好看 长款连帽设计&#xff0c;精致走线 冬天穿时尚又好看&#xff01;&#xff01;