zoukankan      html  css  js  c++  java
  • android 编程之 PopupWindow 窗口的弹出

    PopupWindow 是一个可以显示在当前 Activity 之上的浮动容器,PopupWindow 弹出的位置是能够改变的,按照有无偏移量,可以分为无偏移和有偏移两种;按照参照对象的不同又可以分为两种:相对某个控件(Anchor 锚点)的位置和在父容器内部的相对位置。

    PopupWindow 的实现效果如下:

    PopupWindow 的实现代码如下:

    创建 PopupWindow

    View contentView = View.inflate(R.layout.pop, null)// R.layout.pop为 PopupWindow 的布局文件
    PopupWindow pop = new PopupWindow(contentView, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    pop.setBackgroundDrawable(new BitmapDrawable());                            // 指定 PopupWindow 的背景
    pop.setFocusable(true);                   // 设定 PopupWindow 取的焦点,创建出来的 PopupWindow 默认无焦点

    显示 PopupWindow

    // 相对某个控件的位置(正左下方),无偏移
    pop.showAsDropDown(View anchor) 
    // 相对某个控件的位置,有偏移,xoff 为 X 轴的偏移量,yoff 为 Y 轴的偏移量                          
    pop.showAsDropDown(View anchor, int xoff, int yoff)
    // 在父容器的什么位置,gravity 为相对位置,如:正中央 Gravity.CENTER、下方 Gravity.BOTTOM、Gravity.RIGHT|Gravity.BOTTOM 右下方等,后面两个参数为 x/y 轴的偏移量。
    pop.showAtLocation(View parent, int gravity, int x, int y)

    关闭 PopupWindow

    1 pop.dismiss()
  • 相关阅读:
    (转) Nova是如何统计OpenStack资源
    (转) 一次批量重启引发的Neutron网络故障
    (转)理解Keystone的四种Token
    neutron 虚拟机网络问题调试
    转 Nova: 虚机的块设备总结 [Nova Instance Block Device]
    kvm 客户机系统的代码是如何运行的
    12 while循环
    11猜拳游戏
    10 if 嵌套
    09 if...elif..else语句
  • 原文地址:https://www.cnblogs.com/ycxyyzw/p/4469493.html
Copyright © 2011-2022 走看看