android.view.View.OnClickListener; 7 import android.view.ViewGroup; 8 import android.widget.Button; 9 import android.widget.PopupWindow...11 12 public class MainActivity extends Activity implements OnClickListener { 13 14 private PopupWindow...private void initPopWindow() { 48 // TODO Auto-generated method stub 49 //根据layout创建弹出界面...view = this.getLayoutInflater().inflate(R.layout.popup_window, null); 51 pop = new PopupWindow
PopupWindow 平时我们可能是这样用PopupWindow的: 创建一个布局,再创建一个类继承PopupWindow public class TestPopupWindow extends...left.gif 查了下showAsDropDown(),发现只能在指定控件的下面弹出,总感觉少了点什么~~ 有时候我想弹在View的上面、左边、右边?怎么解? ?...如果你的PopupWindow宽高不确定,这两个参数你也不知道该写多少。 什么!你的PopupWindow宽高都写死了?骚年,你还是太年轻了。...准备工作 弹框前,需要得到PopupWindow的大小(也就是PopupWindow中contentView的大小)。 由于contentView还未绘制,这时候的width、height都是0。...还未弹出时,宽高为0 contentView.measure(makeDropDownMeasureSpec(window.getWidth()), makeDropDownMeasureSpec
Android从屏幕底部弹出popupWindow 先看一下效果,看看是不是你想要的效果,免得浪费大家的时间,有一点说明,由于我录制的 gif 是用的模拟器,所以没有屏幕变暗的效果和加速的弹起的效果,实际效果以真机测试为准...android:textSize="18sp" /> 2.代码部分 我此处用的是一个加速的平移动画,从屏幕底部弹出...,然后将屏幕的亮度变暗,让popupwindow获取焦点,就可以实现了popupwindow从手机屏幕底部弹出的效果,代码中注释已经写的很清楚了,直接看代码即可 2.1设置触发popupwindow的点击事件...(View view) { switch (view.getId()) { case R.id.rlIcon: // TODO 弹出...private TranslateAnimation animation; 2.3弹起popupWindow /** * 弹出popupWindow更改头像 */
遇到这样一个需求:根布局为ScrollView,内部有一个TextView,叫它A,需要在A正上方弹出一个PopupWindow。...初看其实很简单,根据A的位置和大小,算出PopupWindow的位置,调用showAtLocation方法即可实现在A正上方弹出。...); popupWindow.setFocusable(false); popupWindow.setBackgroundDrawable(new ColorDrawable...这里写图片描述 可以发现,我们的PopupWindow并没有跟随一起滚动,这是因为在调用showAtLocation的时候,PopupWindow的位置已经确定了,所以并不会跟着A的滚动而滚动。...我们这里只需要让PopupWindow始终在A的正上方,所以重点就是确定随着ScrollView的滚动PopupWindow的位置。
本文实例为大家分享了Android Popupwindow弹出窗口的具体代码,供大家参考,具体内容如下 代码很简单,没有和别的控件连用。布局自己随意定义,我的这个是最基础的,就直接上代码啦!...popupWindow = new PopupWindow(contentView, LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT, true...); // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框 // 我觉得这里是API的一个bug popupWindow.setBackgroundDrawable.../ 在popupwindow布局里 <?xml version="1.0" encoding="utf-8"?...layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:text="<em>弹出</em>窗口
(contentView); 如果创建PopupWindow的时候没有指定高宽,那么showAsDropDown默认只会向下弹出显示,这种情况有个最明显的缺点就是:弹窗口可能被屏幕截断,显示不全,所以需要使用到另外一个方法...如下图所示,我们可以根据屏幕左上角的坐标A,屏幕高宽,点击View的左上角的坐标C,点击View的大小以及PopupWindow布局的大小计算出PopupWindow的显示位置B ?...contentView.getMeasuredHeight(); final int windowWidth = contentView.getMeasuredWidth(); // 判断需要向上弹出还是向下弹出显示...windowContentViewRoot是根布局View 上面的例子只是提供了一种计算方式,在实际开发中可以根据需求自己计算,比如anchorView在左边的情况,在中间的情况,可以根据实际需求写一个弹出位置能够自适应的...PopupWindow。
上次项目中实现了新功能,就一直想添加到博客里来着,惰性发作起来简直太可怕,不说了,跟着一起写吧,三步即可实现简单的弹出框功能,首先看效果—— ?...layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.android_popupwindow.MainActivity...private RelativeLayout layout; private Button btn; private boolean isFold=true; // 判断是否显示 private PopupWindow...private void showTaxDetail(View view){ LayoutInflater inflater=LayoutInflater.from(this); // 加载弹出框的布局...contentView=inflater.inflate(R.layout.ewj_tax_detail, null); contentView.measure(0,0); taxWindow=new PopupWindow
/> 网页特效 网页顶部弹出可关闭广告图层 站长特效网 #informationbar{ position: fixed;
本文实例讲述了Android 开发使用PopupWindow实现弹出警告框的复用类。...分享给大家供大家参考,具体如下: Android开发中相信下图所示界面大家都不陌生,该种弹出框的使用频率也是极高的,所以我专门谢了个类用于方便的弹出该界面。...= new PopupWindow(context); popupWindow.setHeight(400); popupWindow.setWidth(700); popupWindow.setOutsideTouchable...(true); popupWindow.setFocusable(true); popupWindow.setContentView(popView); popupWindow.showAtLocation...(); } } 其中弹出框用到的布局popup.xml代码如下: <?
前一篇文章中有用到 PopupWindow 来实现弹窗的功能。简单介绍以下吧。 官方文档是这样解释的:这就是一个弹出窗口,可以用来显示一个任意视图。出现的弹出窗口是一个浮动容器的当前活动。...然后在主界面代码中实例 PopupWindow ,指定弹出的界面,在按钮点击事件中显示或隐藏弹窗就可以了,代码如下: package com.yanis.demo; import android.app.Activity...if (pop.isShowing()) { // 隐藏窗口,如果设置了点击窗口外消失,则不需要此方式隐藏 pop.dismiss(); } else { // 弹出窗口显示内容视图...(R.style.MenuAnimationFade); /** * 改变背景可拉的弹出窗口。...changePopupWindowState() { if (pop.isShowing()) { // 隐藏窗口,如果设置了点击窗口外消失,则不需要此方式隐藏 pop.dismiss(); } else { // 弹出窗口显示内容视图
分析: 1、点击右上角三个点的图标,在界面底部弹出一个区域,这个区域有一些按钮提供给我们操作 2、当该区域出现的时候,详情界面便灰了,也说成透明度变化了 3、当任意选了一个按钮或者点击了该区域以外的部分...--------------------------------------- 下面通过一个Demo来实现这个需求~~ 效果图: 首先还是布局文件: 1、主界面: 我们只需要在界面的右上角放一个按钮来弹出...PopupWindow ,注意 父容器需要有一个id,因为我们需要它来给PopupWindow设置弹出的位置 <RelativeLayout xmlns:android="http://schemas.android.com...@Override public void onClick(View v) { switch (v.getId()) { //点击分享按钮,<em>弹出</em>...} }); break; } } } 注意点: 如果你在你自己的项目中使用了<em>弹出</em>
本文实例讲述了Android开发实现popupWindow弹出窗口自定义布局与位置控制方法。分享给大家供大家参考,具体如下: 布局文件: 主布局文件:activity_main: <?...layout_height="wrap_content" android:layout_weight="1" android:text="確認"/ </LinearLayout </LinearLayout 弹出布局设置...android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.PopupWindow...final PopupWindow popup = new PopupWindow(root, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT...// popup.isShowing(); Toast.makeText(MainActivity.this, "hh", Toast.LENGTH_SHORT).show(); //控制pupup弹出位置在父布局的中间显示
例如上图,在按下菜单键后会弹出对应的菜单选项,准确来说,是在菜单键弹起后出现的一个popupwindow,那么从菜单键弹起到popupwindow创建所涉及到的历程是怎样的呢?...framework层已经把menu按键分发给了用户,那么接下里就是activity进行响应,所以从Activity开始看起,整体流程如下: 从按键弹起framework层分发到activity开始,到弹出...} return false; } 总结下来就是,该方法先对一些必要的条件做了一些判断,比如menu是否存在,menu菜单选项是否为空,menu的popup是否已经弹出...,或者正在弹出,然后在进行popup对象的实例化,并开启加载popup的线程。...mPopup; } mPostedOpenRunnable = null; } } 在加载线程中修改menu的状态模式,并且试着去弹出
背景 在使用某APP的过程中发现,该APP对PopupWindow的沉浸式支持并不好,在使用PopupWindow的时候,状态栏会变成纯白色,看不到时间信号等等。如下图所示 ?...APP弹出菜单时候状态栏底色纯白 而正常的状态栏应该如下图所示 ? 正常情况下状态栏显示 问题追踪 看到这个之后觉得顶部看不到时间、信号神马的非常不舒服,于是上Google查了一下原因。...focusable (makes navigation ignore us adding the window) 设置Dialog没有焦点,使得状态栏忽略新添加的Window 这样就能可以实现状态栏在PopupWindow.../Dialog弹出的时候,也可以正常显示了,在自己做的Demo中也证实了这一点 解决办法 在PopupWindow/Dialog展示(show)之前,调用setFocusable(false),这样在弹出...PopupWindow的时候没有焦点,就不会影响沉浸式状态栏的显示了。
一个弹出窗口控件,可以用来显示任意View,而且会浮动在当前activity的顶部 常用构造方法 一下仅列出本人认为常用的构造方法,全部构造方法(9个….)请查看官方文档。...setFocusable(true) 设置焦点,PopupWindow弹出后,所有的触屏和物理按键都由PopupWindows 处理。...实际上, 如果: setFocusable(true); 则PopUpWindow本身可以看作一个类似于模态对话框的东西(但有区别),PopupWindow弹出后,所有的触屏和物理按键都有PopupWindows...back PopupWindow都会消失,必须在PopupWindow设置了背景的情况下 。...(true)则点击PopupWindow之外的地方PopupWindow会消失,其实这玩意儿好像一点用都没有。
PopupWindow显示效果 ?...2.实例基础代码 我们要实现的界面就是上面所示的界面,上下各有两个按钮,点击按钮分别在正确的位置弹出PopupMenu或者PopupWindow,下面是界面代码: <RelativeLayout...); return true; } return false; } 从上面的代码可以看出,不论是点击上面的还是下面的show popup menu按钮,结果都是弹出在当前按钮附近显示...4.实现PopupWindow 实现PopupWindow稍微复杂些,但是自定义性更强,它可以将任意界面设置为PopupWindow。...(1)新建布局文件layout/window_popup.xml,作为PopupWindow,其中只有4个按钮,最后一个是取消按钮,用于关闭PopupWindow <?
在使用PopupWindow的时候,有一个不好的地方就是不太好设置弹出窗体的大小。如果指定绝对大小,那么对于不同分辨率不同尺寸的手机来说,显示出来效果会不同,从而导致用户体验不佳。...为了达到PopupWindow能够自适配布局大小,可以在设置长宽时候指定: popupWindow.setWidth(LayoutParams.WRAP_CONTENT); popupWindow.setHeight...button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="弹出...popupWindow" /> 然后贴出的是PopupWindow中显示的listview_demo.xml <?...(); popupWindow.setTouchable(true); popupWindow.setFocusable(true);
第一步:自定义xml文件 第二步:获取LayoutInflater对象 第三步:调用inflate()方法获取View对象 第四步:创建PopupWindow对象 第五步:调用PopupWindow的showAsDropDown...= new PopupWindow(myView, 600, 450); myView.findViewById(R.id.btn).setOnClickListener(new View.OnClickListener...() { @Override public void onClick(View v) { popupWindow.dismiss...(); } }); } PopupWindow popupWindow; public void btnClick(View v)...{ popupWindow.showAsDropDown(v); } } ?
展示选项菜单的途径有三种: 1、按下菜单键; 2、在代码中手动打开选项菜单,即调用函数openOptionsMenu; 3、按下导航栏右侧溢出菜单按钮,溢出菜单参见《Android开发笔记(二十)顶部导航栏...展示上下文菜单的途径有两种: 1、在某个控件被长按时弹出。...在实际开发中,Android自带的菜单显得朴素不够灵活,一个是位置固定,如选项菜单固定从页面底部弹出,溢出菜单固定从页面右上角弹出,上下文菜单固定显示在页面中央;另一个是样式固定,无法设置菜单背景...PopupWindow的机制是实现一个弹出框,其内容可以是任意布局的View,其页面悬浮在当前Activity页面之上。...= null && popupWindow.isShowing()) { popupWindow.dismiss(); popupWindow = null
领取专属 10元无门槛券
手把手带您无忧上云