首页 > 代码库 > Android英文文档翻译系列(4)——PopupWindow

Android英文文档翻译系列(4)——PopupWindow

public class

PopupWindow

extends Object //直接继承至Object
java.lang.Object
?android.widget.PopupWindow
 //widget

Class Overview//概述
 A popup window that can be used to display an arbitrary view. The popup windows is a floating container that appears on top of the current activity.
//一个泡泡窗,可以展示任意的视图。它是一个悬浮的容器,出现在当前Acitvity的上面。

 public static interface //有一个回调接口

PopupWindow.OnDismissListener

android.widget.PopupWindow.OnDismissListener
 

Class Overview

Listener that is called when this popup window is dismissed. 
//当泡泡关闭的时候调用这个回调方法

Public Constructors //构造器
 PopupWindow(Context context)

Create a new empty, non focusable popup window of dimension (0,0).
// 创建一个一个空的没有焦点的泡泡窗

 PopupWindow(Context context, AttributeSet attrs)

Create a new empty, non focusable popup window of dimension (0,0)。 

 PopupWindow(Context context, AttributeSet attrs, int defStyle)

Create a new empty, non focusable popup window of dimension (0,0).

 PopupWindow(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

Create a new, empty, non focusable popup window of dimension (0,0).

 PopupWindow()

Create a new empty, non focusable popup window of dimension (0,0).

 PopupWindow(View contentView)

Create a new non focusable popup window which can display the contentView.
//创建一个 没有焦点可以展示contentView的泡泡

 PopupWindow(int width, int height)

Create a new empty, non focusable popup window.

 PopupWindow(View contentView, int width, int height)

Create a new non focusable popup window which can display the contentView.

 PopupWindow(View contentView, int width, int height, boolean focusable)

Create a new popup window which can display the contentView.

 

 

Open Declaration void android.widget.PopupWindow.setFocusable(boolean focusable)

 

public void setFocusable (boolean focusable)

Since: API Level 1

 

Changes the focusability of the popup window. When focusable, the window will grab the focus from the current focused widget if the popup contains a focusable View. By default a popup window is not focusable.
// 设置泡泡窗的焦点,当有焦点时,如果这个泡泡里面包含一个View,它将会抢占当前widget的焦点。默认的泡泡是没有焦点的。

If the popup is showing, calling this method will take effect only the next time the popup is shown or through a manual call to one of the update() methods.
 //如果这个泡泡正在show,调用这个方法只有在下次泡泡展现的时候作用,或者通过手动的调用update()方法。

 

 

public void setOutsideTouchable (boolean touchable)

Since: API Level 3

 

Controls whether the pop-up will be informed of touch events outside of its window. This only makes sense for pop-ups that are touchable but not focusable, which means touches outside of the window will be delivered to the window behind. The default is false.
// 控制这个泡泡窗在窗口外的触摸事件会不会通知到,这仅会让这个泡泡窗可以被触摸但是还是没有焦点,这将一意味着触摸到了窗口外面将会转交到底下的窗口。默认是false。

If the popup is showing, calling this method will take effect only the next time the popup is shown or through a manual call to one of the update() methods.
//这个方法也需要刷新才能及时生效。
 

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

Since: API Level 1

 

Display the content view in a popup window anchored to the bottom-left corner of the anchor view offset by the specified x and y coordinates. If there is not enough room on screen to show the popup in its entirety, this method tries to find a parent scroll view to scroll. If no parent scroll view can be scrolled, the bottom-left corner of the popup is pinned at the top left corner of the anchor view.
//以参照物的左下为标准,偏移xy 

If the view later scrolls to move anchor to a different location, the popup will be moved correspondingly.

 

Parameters
anchorthe view on which to pin the popup window
See Also
  • dismiss()

public void showAsDropDown (View anchor)

Since: API Level 1

 

Display the content view in a popup window anchored to the bottom-left corner of the anchor view. If there is not enough room on screen to show the popup in its entirety, this method tries to find a parent scroll view to scroll. If no parent scroll view can be scrolled, the bottom-left corner of the popup is pinned at the top left corner of the anchor view.
//以参照物的左下为标准,不便宜

 

Parameters
anchorthe view on which to pin the popup window
See Also
  • dismiss()

public void showAtLocation (View parent, int gravity, int x, int y)
// 父视图,Gravity,坐标

Since: API Level 1

 

Display the content view in a popup window at the specified location. If the popup window cannot fit on screen, it will be clipped. See WindowManager.LayoutParams for more information on how gravity and the x and y parameters are related. Specifying a gravity of NO_GRAVITY is similar to specifying Gravity.LEFT | Gravity.TOP.

//在一个窗口里面按预设显示一个内容视图。如果这个泡泡窗不能适应屏幕,将只会显示部分。LayoutParams跟如何居中和坐标参数是有关系的。制定一个没有居中的的就像居左居右。

 

Parameters
parenta parent view to get the getWindowToken() token from
gravitythe gravity which controls the placement of the popup window
xthe popup‘s x location offset
ythe popup‘s y location offset 
 

Android英文文档翻译系列(4)——PopupWindow