你的位置:首页 > 软件开发 > 操作系统 > Android—PopupWindow的简单使用

Android—PopupWindow的简单使用

发布时间:2016-09-26 19:00:36
PopupWindow 是一个可以显示在当前 Activity 之上的浮动容器,这个Demo要实现的功能是,点击布局中的两个按钮,进而控制PopupWindow的显示与消失,代码中有详细的注释首先看一下效果展示:在上代码之前,先总结一下PopupWindow的用法:1:实例化Po ...

Android—PopupWindow的简单使用

PopupWindow 是一个可以显示在当前 Activity 之上的浮动容器,这个Demo要实现的功能是,点击布局中的两个按钮,进而控制PopupWindow的显示与消失,代码中有详细的注释首先看一下效果展示:

Android—PopupWindow的简单使用

在上代码之前,先总结一下PopupWindow的用法:
1:实例化PopupWindow的对象,三个参数分别对应:填充的布局文件、在当前Activity上所占的宽、高PopupWindow popupWindow= new PopupWindow(contentView, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);2:完成第一步所需要的布局文件,并实例出来View contentView = mLayoutInflater.inflate(R.layout.pop, null)3:设置PopupWindow 所必备的两个属性   //popupWindow的背景 (1)popupWindow.setBackgroundDrawable(......);    //popupWindow要显示的位置 (2)popupWindow.showAtLocation(View parent, int gravity, int x, int y)

Android—PopupWindow的简单使用

MainActivity:
 1 package com.example.wgh.popupwindow; 2 import android.graphics.drawable.ColorDrawable; 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.Gravity; 6 import android.view.LayoutInflater; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.GridLayout;10 import android.widget.PopupWindow;11 12 public class MainActivity extends AppCompatActivity {13 14   private View mPopView = null;15   private Button showPopupWindow = null;16   private Button dismissPopupWindow = null;17   @Override18   protected void onCreate(Bundle savedInstanceState) {19     super.onCreate(savedInstanceState);20     setContentView(R.layout.activity_main);21 22     initView();23     showPopupWindow.setOnClickListener(new View.OnClickListener() {24       @Override25       public void onClick(View view) {26         showPopupWindow();27       }28     });29   }30 31   private void initView() {32     showPopupWindow = (Button) findViewById(R.id.showPopupWindow);33     dismissPopupWindow = (Button) findViewById(R.id.dismissPopupWindow);34     /**35      * 实例popupWindow要添加的布局36     */37     mPopView = LayoutInflater.from(this).inflate(R.layout.popu_layout, null);38   }39 40   private void showPopupWindow() {41     /**42      * 实例popupWindow对象43     */44     PopupWindow popupWindow = new PopupWindow(mPopView, GridLayout.LayoutParams.MATCH_PARENT, GridLayout.LayoutParams.WRAP_CONTENT);45     //设置popupWindow中的item可以被点击,这句话是必须要添加的46     popupWindow.setFocusable(true);47     //设置PopupWindow的背景48     //如果不设置背景,会导致无论是点击外部区域还是Back键都无法dismiss掉popupWindow49     ColorDrawable dw = new ColorDrawable(0xb0000000);50     popupWindow.setBackgroundDrawable(dw);51     //设置popupWindow显示的位置52     popupWindow.showAtLocation(showPopupWindow, Gravity.BOTTOM,0,200);53   }54 }
1 // 相对某个控件的位置(正左下方),无偏移2 popupWindow.showAsDropDown(View anchor) 3 // 相对某个控件的位置,有偏移,xoff 为 X 轴的偏移量,yoff 为 Y 轴的偏移量             4 popupWindow.showAsDropDown(View anchor, int xoff, int yoff)5 // 在父容器的什么位置,gravity 为相对位置,6 //如:正中央 Gravity.CENTER、下方 Gravity.BOTTOM、Gravity.RIGHT|Gravity.BOTTOM 右下方等,后面两个参数为 x/y 轴的偏移量。7 popupWindow.showAtLocation(View parent, int gravity, int x, int y) 

原标题:Android—PopupWindow的简单使用

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录