当前位置:首页 > Android > 正文内容

Android PopupWindow的基本使用

3年前 (2021-03-19)Android

需求:希望点击文本区域的时候,在手指处添加一个控件,开始想到的是相对布局,添加一个隐藏层,根据点击然后显示并且重设坐标,后来发现这个方向是错的,甚至有点蠢,后来看到了popupWindow。

PopupWindow popupWindow = new PopupWindow(MainActivity.this);

//设置宽高
popupWindow.setWidth(300);
popupWindow.setHeight(150);
// 获取布局
popupWindow.setContentView(LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog_item01, null));
// 点击区域外使对话框消失
popupWindow.setOutsideTouchable(false);
popupWindow.setFocusable(true);
popupWindow.setTouchable(true);
popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));

// 获取控件位置
int[] lv2 = {0, 0};
tv.getLocationInWindow(lv2);
// 设置弹窗位置
popupWindow.showAtLocation(tv, Gravity.TOP | Gravity.LEFT, x+lv2[0], y+lv2[1]);

以上方法初始化设置的固定宽高可能有问题,以后用下面这个

View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.popuplayout, null);
mPopWindow = new PopupWindow(contentView,
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true);


扫描二维码推送至手机访问。

版权声明:本文由小祥子的博客发布,如需转载请注明出处。

本文地址:http://www.xiaoxiangzi.com/post/96.html

相关文章

Activity的生命周期与iOS UIViewController对比

一个页面或APP的生命周期,对开发尤为重要,知道生命周期,才知道代码应该写在哪里。刚开始学iOS的时候,也因为没有深入了解页面的生命周期导致出了一些奇怪的bug。Android Activity的生命...

Android SharedPreferences的简单使用

Android的SharedPreferences与iOS的UserDefaults.standard十分相同,都是是保存一些轻量配置数据的地方。这里假设保存用户名SharedPreferences&...

Android常用第三方框架

分类二级分类框架名称简介UI刷新SmartRefreshLayout智能下拉刷新框架UI刷新Android-PullToRefresh比较早的一款下拉刷新框架UI刷新android-Ultra-Pul...

Android 网络请求 Kalle

APP作为前端,比较核心的功能算是网络请求了,这里用Kalle,这个第三方的网络请求框架。implementation 'com.yanzhenjie:kalle:0.1.7'&nbs...

Android根据关键词标红部分文字

            String mKeyWord =&...

Android 网络请求后的JSON解析

JSON解析用阿里巴巴的fastjson。implementation 'com.alibaba:fastjson:1.1.71.android' 根据上一篇文章,登录接口登...