首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小工匠聊架构

    PopupWindow

    比如这样一个PopupWindow出现的时候,按back键首先是让PopupWindow消失,第二次按才是退出 activity,准确的说是想退出activity你得首先让PopupWindow消失,因为不并是任何情况下按 区域,PopupWindow会消失的,如果没有下面的 //代码的话,你会发现,当你把PopupWindow显示出来了,无论你按多少次后退键 //PopupWindow并不会关闭 比如这样一个PopupWindow出现的时候,按back键首先是让PopupWindow消失,第二次按才是退出activity,准确的说是想退出activity你得首先让PopupWindow消失,因为不并是任何情况下按 back PopupWindow都会消失,必须在PopupWindow设置了背景的情况下 。 (true)则点击PopupWindow之外的地方PopupWindow会消失,其实这玩意儿好像一点用都没有。

    1.1K40发布于 2021-08-16
  • 来自专栏潇涧技术专栏

    Android PopupMenu and PopupWindow

    本文通过一个实例简单介绍下PopupMenu和PopupWindow的区别和各自使用方式。 1.PopupMenu和PopupWindow PopupMenu显示效果类似上下文菜单(Menu),而PopupWindow的显示效果实际上类似对话框(Dialog),两者效果如下图所示: PopupMenu PopupWindow显示效果 ? 4.实现PopupWindow 实现PopupWindow稍微复杂些,但是自定义性更强,它可以将任意界面设置为PopupWindow。 (1)新建布局文件layout/window_popup.xml,作为PopupWindow,其中只有4个按钮,最后一个是取消按钮,用于关闭PopupWindow <?

    2.5K21发布于 2018-08-01
  • 来自专栏向治洪

    popupwindow和listview

    为了达到PopupWindow能够自适配布局大小,可以在设置长宽时候指定: popupWindow.setWidth(LayoutParams.WRAP_CONTENT);     popupWindow.setHeight         popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg));           popupWindow.setOutsideTouchable (true);           popupWindow.setAnimationStyle(android.R.style.Animation_Dialog);           popupWindow.update ();           popupWindow.setTouchable(true);           popupWindow.setFocusable(true);            popupWindow.isShowing()) {                       popupWindow.showAsDropDown(button, 0, 0);                   

    2K100发布于 2018-01-30
  • 来自专栏该溜子的专栏

    【Android】PopupWindow弹窗

    , null); popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT ,就把透明度修改回来 popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { 源码 PopupWindow弹窗,可以让我们对于弹窗位置的控制会更加灵活, 1:构造方法 构造方法的重载,最常用的是最后一种 两种写法创建PopupWindow,合在一起,分开都可以 View view = getLayoutInflater().inflate(R.layout.layout_bottom_menu_popupwindow, null); popupWindow = 根布局的高度 PopupWindow根布局的高度不要写成match_content(匹配父布局),PopupWindow的设计初衷是作为 “轻量级悬浮弹窗”,而非全屏视图。

    34310编辑于 2025-08-23
  • 来自专栏java初学

    android入门 — PopupWindow

    第一步:自定义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); } } ?

    908110发布于 2018-05-14
  • 来自专栏Android开发指南

    PopupWindow的使用

    ViewGroup.LayoutParams.FILL_PARENT; int height = ViewGroup.LayoutParams.WRAP_CONTENT; bottomPopupWindow = new PopupWindow

    41910编辑于 2022-01-12
  • 来自专栏Android开发指南

    PopupWindow 以及拍照、裁剪

    item> </style> </resources>   SelectPhotoPopupWindow public class SelectPhotoPopupWindow extends PopupWindow = new PopupWindow(contentView, width, height); /*点击popupWindow范围以外的地方,让popupWindow消失 */ // popupWindow.setOutsideTouchable(true); // popupWindow.setBackgroundDrawable 范围以外的地方,让popupWindow消失*/ this.setOutsideTouchable(true); this.setBackgroundDrawable(new menuWindow.showAtLocation(viewAttach, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0); //设置layout在PopupWindow

    2.6K20编辑于 2022-01-12
  • 来自专栏Android开发指南

    4.PopupWindow

    ViewGroup.LayoutParams.FILL_PARENT; int height = ViewGroup.LayoutParams.WRAP_CONTENT; bottomPopupWindow = new PopupWindow

    72680发布于 2018-05-14
  • 来自专栏刘晓杰

    PopUpWindow的使用

    PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。 , null); PopupWindow popupWindow = new PopupWindow(view, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT ); //setBackgroundDrawable必须要有,不然点击window以外区域不会消失 popupWindow.setBackgroundDrawable( getResources ().getDrawable(android.R.drawable.btn_plus)); // popupWindow.setTouchable(true); // popupWindow.setOutsideTouchable (true); popupWindow.setFocusable(true); popupWindow.showAtLocation(v, Gravity.BOTTOM, 0, 0);

    57440发布于 2019-03-01
  • 来自专栏Android开发经验

    ScrollView里面基于某个View弹出PopupWindowPopupWindow不会跟着View滚动?

    popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT ); popupWindow.setFocusable(false); popupWindow.setBackgroundDrawable(new ColorDrawable 这里写图片描述 可以发现,我们的PopupWindow并没有跟随一起滚动,这是因为在调用showAtLocation的时候,PopupWindow的位置已经确定了,所以并不会跟着A的滚动而滚动。 这样的效果产品经理肯定不会同意的,所以就需要我们来动态更新PopupWindow的位置了。 我们这里只需要让PopupWindow始终在A的正上方,所以重点就是确定随着ScrollView的滚动PopupWindow的位置。

    1.7K20发布于 2018-07-04
  • 来自专栏Android干货

    浅谈PopupWindow弹出菜单

    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 view = this.getLayoutInflater().inflate(R.layout.popup_window, null); 51 pop = new PopupWindow

    1.8K100发布于 2018-05-18
  • 来自专栏拭心的安卓进阶之路

    Android中文API——PopupWindow

    API文档 继承树: java.lang.Object ↳ android.widget.PopupWindow 概述: popupWindow,顾名思义,用作在当前Activity前弹出一个界面 公共的构造器: PopupWindow() PopupWindow(Context context) PopupWindow(Context context, AttributeSet attrs) PopupWindow(Context context, AttributeSet attrs, int defStyle) PopupWindow(Context context, AttributeSet //(使用较少) PopupWindow(View contentView, int width, int height) //创建一个没有获取焦点、长为width、宽为height,内容为contentView PopupWindow(View contentView, int width, int height, boolean focusable) //类似上面那个,但第四个参数可以控制是否获取焦点 //

    1.7K20编辑于 2022-11-30
  • 来自专栏该溜子的专栏

    【Android】PopupWindow实现长按菜单

    一:PopupWindow实现长按菜单 需求分析:长按消息,显示复制翻译转发 需要两个xml布局 <?xml version="1.0" encoding="utf-8"? popupWindow; private PopupWindow msgOpetationPopupWindow; private TextView tvMessage; private , null); popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT ,就把透明度修改回来 popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { 因为PopupWindow没有真正的加入到当前的页面,如何获取它的高度??

    23710编辑于 2025-08-23
  • 来自专栏陶士涵的菜地

    练习PopupWindow实现对话框

    Theme.Dialog"> <item name="android:windowBackground">@null</item> </style> </resources> 练习使用PopupWindow dialog.setContentView(R.layout.activity_two); // dialog.show(); //使用PopupWindow popupWindow=new PopupWindow(anchor, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,true); //点击空白隐藏 popupWindow.setTouchable(true); popupWindow.setTouchInterceptor (getResources().getDrawable(R.drawable.ic_launcher)); popupWindow.showAsDropDown(arg0

    63530发布于 2019-09-10
  • 来自专栏Android开发与分享

    【Android】在任意位置弹出PopupWindow

    实现弹框有两种选,PopupWindow或者Dialog,这里就先忽略Dialog。弹框可能会在各种位置出现,在指定View的上、下、左、右、左对齐、右对齐等... PopupWindow 平时我们可能是这样用PopupWindow的: 创建一个布局,再创建一个类继承PopupWindow public class TestPopupWindow extends 如果你的PopupWindow宽高不确定,这两个参数你也不知道该写多少。 什么!你的PopupWindow宽高都写死了?骚年,你还是太年轻了。 准备工作 弹框前,需要得到PopupWindow的大小(也就是PopupWindow中contentView的大小)。 由于contentView还未绘制,这时候的width、height都是0。 大小后,就在任意位置弹窗了 弹框的位置无非就是根据PopupWindow以及指定View的大小,计算水平、竖直方向偏移。

    5.5K110发布于 2018-05-18
  • 来自专栏移动开发

    PopupWindow显示在某个控件上方

    PopupWindow有一个显示在在某个上方的方法,但是没有定义一个在控件下方的方法,不知为何.这里提供一个小思路: public class PopupOrderPriceDetail extends PopupWindow { private int popupWidth; private int popupHeight; public PopupOrderPriceDetail

    4.1K20发布于 2018-10-18
  • 来自专栏编程思想之路

    自定义PopupWindow实现Spinner

    Android中的spinner控件点击之后是以弹出dialog 的形式供我们选择,但我们其实更希望可以看到是下拉菜单的感觉,如下图所示: 要实现这种效果其实也不难,自定义一个popupwindow 控件就可以解决问题 在显示popupwindow时右侧箭头朝下,在popupwindow消失时右侧箭头朝右 先来看一下我自定义的popupwindow SpPopWindow.java public class SpPopWindow extends PopupWindow implements OnClickListener{ private Context mContext; private TextView TextView) view.findViewById(R.id.item_thirty_tv); setViewOnClick(mThreeTv,mTenTv,mThirtyTv); //当popupwindow android:textColor="@color/black" android:padding="10dp"/> </LinearLayout> 在activity中使用: //声明popupwindow

    65750编辑于 2022-05-07
  • 来自专栏Android开发指南

    3.PopupWindow 、拍照、裁剪

    item> </style> </resources>   SelectPhotoPopupWindow public class SelectPhotoPopupWindow extends PopupWindow = new PopupWindow(contentView, width, height); /*点击popupWindow范围以外的地方,让popupWindow消失 */ // popupWindow.setOutsideTouchable(true); // popupWindow.setBackgroundDrawable 范围以外的地方,让popupWindow消失*/ this.setOutsideTouchable(true); this.setBackgroundDrawable(new menuWindow.showAtLocation(viewAttach, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0); //设置layout在PopupWindow

    1.4K90发布于 2018-05-14
  • 来自专栏Android小菜鸡

    popupWindow的封装与学习

      本篇主要富含了对PopupWindow的封装,实现动画弹窗的例子。可用于相册选择、点赞等等。同时封装使用了建造者模式,对于补间动画的运用同样有较高的学习价值。 public void showAll(View view) { if (popupWindow ! , null); popupWindow = new CommonPopupWindow.Builder(this) .setView(R.layout.popup_up public void showLeftPop(View view) { if (popupWindow ! = null && popupWindow.isShowing()) return; popupWindow = new CommonPopupWindow.Builder(this)

    69110发布于 2018-09-06
  • 来自专栏青蛙要fly的专栏

    Android技能树 — PopupWindow小结

    主要分为三部分: PopupWindow的使用 PopupWindow工具类的封装 PopupWindow源码分析 正文 我们知道上来直接给一大串的源码,很少有人会继续看下去,所以我们就自己先写个下拉选择框 1.1 实例化PopupWindow对象 既然实例化PopupWindow对象,所以我们看下它的构造函数: public PopupWindow() { this(null, 0, 0); } PopupWindow要显示的宽和高, PopupWindow是否有获取焦点的能力(默认false)。 (height); popupWindow.setWidth(width); popupWindow.setFocusable(true); 复制代码 点击窗体外消失: // 需要设置一下PopupWindow PopupWindow源码简单分析 很惭愧,很早以前就会用PopupWindow,但是源码一直没有去看过。 在讲解PopupWindow源码前我们先来看下其他的知识。

    1.7K11发布于 2018-10-10
领券