Android应用之PopupWindow显示位置详解

       Android的弹出窗口一般都两种方式。AlertDialog和PopupWindow。这里重点介绍PopupWindow的显示位置。

       Android为PopupWindow的显示位置提供了两种方法:

      1  popupWindow相对父布局的位置

         重载的方法为  

    public void showAtLocation(View parent, int gravity, int x, int y)

    第一个参数就是父布局类,一般都是方法体中的参数view。
    第二个参数gravity指的是popupWindow在父布局中出现的大致位置。常见的有 Gravity.NO_GRAVITY,Gravity.LEFT,Gravity.RIGHT,Gravity.TOP,
Gravity.BOTTOM。具体意思一看就明了,就不解释类。
    第三个参数int x指的是以第二个参数gravity指点的位置为原点,popupWindow相对于原点X轴上的位置。x为正popupWindow向右移动,x为负popupWindow向
左移动。
    第四个参数int y同X差不多,指的是y轴上的位置。y为正popupWindow向上,y为负popupWindow向下。


    2 popupWindow相对于某个控件的位置
    
     public void showAsDropDown(View anchor)

     public void showAsDropDown(View anchor, int xoff, int yoff)

     public void showAsDropDown(View anchor, int xoff, int yoff, int gravity)
     前两个方法不指定gravity 则popupWindow出现在anchor的正下方。
     
     第一个参数anchor指的是你的popupWindow相对于的这个控件。
     第二个参数xoff指的是popupWindow相对于原点X轴上的位置。x为正popupWindow向右移动,x为负popupWindow向左移动。
     第三个Y轴上注意正负和popupWindow上下移动的关系。
     第三个参数yoff指的是y轴上的位置。y为正popupWindow向下,y为负popupWindow向上。
     第四个参数跟上个一样,这里就不解释了。 


 
    用popupWindow做了一个弱智版的侧滑。有兴趣的可以看看



 

你可能感兴趣的:(Android应用)