Most visited

Recently visited

Added in API level 11

ListPopupWindow

public class ListPopupWindow
extends Object implements ShowableListMenu

java.lang.Object
   ↳ android.widget.ListPopupWindow


ListPopupWindow将自己锚定到主机视图并显示选项列表。

ListPopupWindow包含许多围绕定位的棘手行为,滚动父母以适应下拉列表,与IME(如果存在的话)以及其他人进行明智的交互。

也可以看看:

Summary

Constants

int INPUT_METHOD_FROM_FOCUSABLE

setInputMethodMode(int)模式:输入方法的要求应基于弹出框的可聚焦性。

int INPUT_METHOD_NEEDED

setInputMethodMode(int)模式:此弹出窗口始终需要使用输入法,而不管它是否可以聚焦。

int INPUT_METHOD_NOT_NEEDED

setInputMethodMode(int)模式:此弹出窗口不需要使用输入法,无论它是否可以聚焦。

int MATCH_PARENT

别名为 MATCH_PARENT

int POSITION_PROMPT_ABOVE

提供的提示视图应该出现在列表内容的上方。

int POSITION_PROMPT_BELOW

提供的提示视图应显示在列表内容的下方。

int WRAP_CONTENT

别名为 WRAP_CONTENT

Public constructors

ListPopupWindow(Context context)

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。

ListPopupWindow(Context context, AttributeSet attrs)

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。

ListPopupWindow(Context context, AttributeSet attrs, int defStyleAttr)

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。

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

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。

Public methods

void clearListSelection()

清除任何当前列表选择。

View.OnTouchListener createDragToOpenListener(View src)

返回可添加到源视图的 View.OnTouchListener以实现拖动打开行为。

void dismiss()

关闭弹出窗口。

View getAnchorView()

返回将用于锚定此弹出窗口的视图。

int getAnimationStyle()

返回弹出窗口显示或解除时将使用的动画样式。

Drawable getBackground()
int getHeight()
int getHorizontalOffset()
int getInputMethodMode()

返回 setInputMethodMode(int)的当前值。

ListView getListView()
int getPromptPosition()
Object getSelectedItem()
long getSelectedItemId()
int getSelectedItemPosition()
View getSelectedView()
int getSoftInputMode()

返回 setSoftInputMode(int)中的当前值。

int getVerticalOffset()
int getWidth()
boolean isInputMethodNotNeeded()
boolean isModal()

返回显示时弹出窗口是否为模态。

boolean isShowing()
boolean onKeyDown(int keyCode, KeyEvent event)

过滤关键事件。

boolean onKeyPreIme(int keyCode, KeyEvent event)

过滤IME前的关键事件。

boolean onKeyUp(int keyCode, KeyEvent event)

过滤关键事件。

boolean performItemClick(int position)

在指定的列表适配器位置上执行项目单击操作。

void postShow()

发布 show()调用UI线程。

void setAdapter(ListAdapter adapter)

设置提供数据的适配器和视图来表示这个弹出窗口中的数据。

void setAnchorView(View anchor)

设置弹出的锚点视图。

void setAnimationStyle(int animationStyle)

设置弹出窗口显示或解除时使用的动画样式。

void setBackgroundDrawable(Drawable d)

将drawable设置为弹出窗口的背景。

void setContentWidth(int width)

通过其内容的大小来设置弹出窗口的宽度。

void setDropDownGravity(int gravity)

设置下拉列表的重力。

void setHeight(int height)

以像素为单位设置弹出窗口的高度。

void setHorizontalOffset(int offset)

从其锚点视图中以像素为单位设置此弹出框的水平偏移量。

void setInputMethodMode(int mode)

控制如何的弹出与输入方法工作:之一 INPUT_METHOD_FROM_FOCUSABLEINPUT_METHOD_NEEDED ,或 INPUT_METHOD_NOT_NEEDED

void setListSelector(Drawable selector)

设置一个drawable用作列表项目选择器。

void setModal(boolean modal)

设置此窗口在显示时是否应为模态。

void setOnDismissListener(PopupWindow.OnDismissListener listener)

设置一个监听器,当弹出框被解除时接收回调。

void setOnItemClickListener(AdapterView.OnItemClickListener clickListener)

设置侦听器以在单击列表项时接收事件。

void setOnItemSelectedListener(AdapterView.OnItemSelectedListener selectedListener)

设置侦听器以在选择列表项目时接收事件。

void setPromptPosition(int position)

设置可选提示视图应显示的位置。

void setPromptView(View prompt)

设置视图以充当此弹出窗口的用户提示。

void setSelection(int position)

设置列表的选定位置。

void setSoftInputMode(int mode)

设置软输入区域的操作模式。

void setVerticalOffset(int offset)

从其锚点视图中以像素为单位设置此弹出窗口的垂直偏移量。

void setWidth(int width)

设置弹出窗口的宽度(以像素为单位)。

void setWindowLayoutType(int layoutType)

为此弹出窗口设置布局类型。

void show()

显示弹出列表。

Inherited methods

From class java.lang.Object
From interface com.android.internal.view.menu.ShowableListMenu

Constants

INPUT_METHOD_FROM_FOCUSABLE

Added in API level 11
int INPUT_METHOD_FROM_FOCUSABLE

针对setInputMethodMode(int)模式:输入法的要求应基于弹出框的可聚焦性。 这就是说,如果它是可以聚焦的而不是它需要使用输入法,否则它不会。

常量值:0(0x00000000)

INPUT_METHOD_NEEDED

Added in API level 11
int INPUT_METHOD_NEEDED

setInputMethodMode(int)模式:此弹出窗口总是需要使用输入法,无论它是否可以聚焦。 这意味着它将始终显示,以便用户在显示时也可以操作输入法。

常数值:1(0x00000001)

INPUT_METHOD_NOT_NEEDED

Added in API level 11
int INPUT_METHOD_NOT_NEEDED

setInputMethodMode(int)模式:此弹出窗口不需要使用输入法,无论它是否可以聚焦。 这意味着它将始终显示为根据需要在屏幕上使用尽可能多的空间,而不管这是否覆盖了输入法。

常量值:2(0x00000002)

MATCH_PARENT

Added in API level 11
int MATCH_PARENT

别名为MATCH_PARENT 如果用于指定弹出宽度,则弹出窗口将匹配锚视图的宽度。 如果用于指定弹出高度,则弹出窗口将填充可用空间。

常量值:-1(0xffffffff)

POSITION_PROMPT_ABOVE

Added in API level 11
int POSITION_PROMPT_ABOVE

提供的提示视图应该出现在列表内容的上方。

也可以看看:

常量值:0(0x00000000)

POSITION_PROMPT_BELOW

Added in API level 11
int POSITION_PROMPT_BELOW

提供的提示视图应显示在列表内容的下方。

也可以看看:

常数值:1(0x00000001)

WRAP_CONTENT

Added in API level 11
int WRAP_CONTENT

别名为WRAP_CONTENT 如果用于指定弹出宽度,则弹出窗口将使用其内容的宽度。

常量值:-2(0xfffffffe)

Public constructors

ListPopupWindow

Added in API level 11
ListPopupWindow (Context context)

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。 应使用setBackgroundDrawable(Drawable)设置背景。

Parameters
context Context: Context used for contained views.

ListPopupWindow

Added in API level 11
ListPopupWindow (Context context, 
                AttributeSet attrs)

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。 背景应使用setBackgroundDrawable(Drawable)设置。

Parameters
context Context: Context used for contained views.
attrs AttributeSet: Attributes from inflating parent views used to style the popup.

ListPopupWindow

Added in API level 11
ListPopupWindow (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。 应使用setBackgroundDrawable(Drawable)设置背景。

Parameters
context Context: Context used for contained views.
attrs AttributeSet: Attributes from inflating parent views used to style the popup.
defStyleAttr int: Default style attribute to use for popup content.

ListPopupWindow

Added in API level 11
ListPopupWindow (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

创建一个新的空的弹出窗口,能够显示来自ListAdapter的项目。 应使用setBackgroundDrawable(Drawable)设置背景。

Parameters
context Context: Context used for contained views.
attrs AttributeSet: Attributes from inflating parent views used to style the popup.
defStyleAttr int: Style attribute to read for default styling of popup content.
defStyleRes int: Style resource ID to use for default styling of popup content.

Public methods

clearListSelection

Added in API level 11
void clearListSelection ()

清除任何当前列表选择。 isShowing() == true时才有效。

createDragToOpenListener

Added in API level 19
View.OnTouchListener createDragToOpenListener (View src)

返回可添加到源视图以实现拖动打开行为的View.OnTouchListener 一般来说,源视图应该是传递给setAnchorView(View)的相同视图。

将侦听器设置在视图上时,触摸该视图并在其边界之外拖动将打开弹出窗口。 提升将选择当前触摸的列表项目。

用法示例:

 ListPopupWindow myPopup = new ListPopupWindow(context);
 myPopup.setAnchor(myAnchor);
 OnTouchListener dragListener = myPopup.createDragToOpenListener(myAnchor);
 myAnchor.setOnTouchListener(dragListener);
 

Parameters
src View: the view on which the resulting listener will be set
Returns
View.OnTouchListener a touch listener that controls drag-to-open behavior

dismiss

Added in API level 11
void dismiss ()

关闭弹出窗口。

getAnchorView

Added in API level 11
View getAnchorView ()

返回将用于锚定此弹出窗口的视图。

Returns
View The popup's anchor view

getAnimationStyle

Added in API level 11
int getAnimationStyle ()

返回弹出窗口显示或解除时将使用的动画样式。

Returns
int Animation style that will be used.

getBackground

Added in API level 11
Drawable getBackground ()

Returns
Drawable The background drawable for the popup window.

getHeight

Added in API level 11
int getHeight ()

Returns
int The height of the popup window in pixels.

getHorizontalOffset

Added in API level 11
int getHorizontalOffset ()

Returns
int The horizontal offset of the popup from its anchor in pixels.

getInputMethodMode

Added in API level 11
int getInputMethodMode ()

返回 setInputMethodMode(int)的当前值。

Returns
int

也可以看看:

getListView

Added in API level 11
ListView getListView ()

Returns
ListView The ListView displayed within the popup window. Only valid when isShowing() == true.

getPromptPosition

Added in API level 11
int getPromptPosition ()

Returns
int Where the optional prompt view should appear.

也可以看看:

getSelectedItem

Added in API level 11
Object getSelectedItem ()

Returns
Object The currently selected item or null if the popup is not showing.

getSelectedItemId

Added in API level 11
long getSelectedItemId ()

Returns
long The ID of the currently selected item or INVALID_ROW_ID if isShowing() == false.

也可以看看:

getSelectedItemPosition

Added in API level 11
int getSelectedItemPosition ()

Returns
int The position of the currently selected item or INVALID_POSITION if isShowing() == false.

也可以看看:

getSelectedView

Added in API level 11
View getSelectedView ()

Returns
View The View for the currently selected item or null if isShowing() == false.

也可以看看:

getSoftInputMode

Added in API level 11
int getSoftInputMode ()

返回 setSoftInputMode(int)中的当前值。

Returns
int

See also:

getVerticalOffset

Added in API level 11
int getVerticalOffset ()

Returns
int The vertical offset of the popup from its anchor in pixels.

getWidth

Added in API level 11
int getWidth ()

Returns
int The width of the popup window in pixels.

isInputMethodNotNeeded

Added in API level 11
boolean isInputMethodNotNeeded ()

Returns
boolean true if this popup is configured to assume the user does not need to interact with the IME while it is showing, false otherwise.

isModal

Added in API level 11
boolean isModal ()

返回显示时弹出窗口是否为模态。

Returns
boolean true if the popup window will be modal, false otherwise.

isShowing

Added in API level 11
boolean isShowing ()

Returns
boolean true if the popup is currently showing, false otherwise.

onKeyDown

Added in API level 11
boolean onKeyDown (int keyCode, 
                KeyEvent event)

过滤关键事件。 通过将关键事件转发给此函数,使用非模式ListPopupWindow的视图可以让它处理项目的关键选择。

Parameters
keyCode int: keyCode param passed to the host view's onKeyDown
event KeyEvent: event param passed to the host view's onKeyDown
Returns
boolean true if the event was handled, false if it was ignored.

也可以看看:

onKeyPreIme

Added in API level 11
boolean onKeyPreIme (int keyCode, 
                KeyEvent event)

过滤IME前的关键事件。 通过将onKeyPreIme(int, KeyEvent)事件转发给此函数,使用ListPopupWindow的视图可以在按下后退键时关闭弹出窗口。

Parameters
keyCode int: keyCode param passed to the host view's onKeyPreIme
event KeyEvent: event param passed to the host view's onKeyPreIme
Returns
boolean true if the event was handled, false if it was ignored.

也可以看看:

onKeyUp

Added in API level 11
boolean onKeyUp (int keyCode, 
                KeyEvent event)

过滤关键事件。 通过将关键事件转发给此函数,使用非模式ListPopupWindow的视图可以让它处理项目的关键选择。

Parameters
keyCode int: keyCode param passed to the host view's onKeyUp
event KeyEvent: event param passed to the host view's onKeyUp
Returns
boolean true if the event was handled, false if it was ignored.

也可以看看:

performItemClick

Added in API level 11
boolean performItemClick (int position)

在指定的列表适配器位置上执行项目单击操作。

Parameters
position int: Adapter position for performing the click
Returns
boolean true if the click action could be performed, false if not. (e.g. if the popup was not showing, this method would return false.)

postShow

Added in API level 11
void postShow ()

发布 show()调用UI线程。

setAdapter

Added in API level 11
void setAdapter (ListAdapter adapter)

设置提供数据的适配器和视图来表示这个弹出窗口中的数据。

Parameters
adapter ListAdapter: The adapter to use to create this window's content.

setAnchorView

Added in API level 11
void setAnchorView (View anchor)

设置弹出的锚点视图。 显示时,此弹出窗口将始终相对于锚点视图进行定位。

Parameters
anchor View: The view to use as an anchor.

setAnimationStyle

Added in API level 11
void setAnimationStyle (int animationStyle)

设置弹出窗口显示或解除时使用的动画样式。

Parameters
animationStyle int: Animation style to use.

setBackgroundDrawable

Added in API level 11
void setBackgroundDrawable (Drawable d)

将drawable设置为弹出窗口的背景。

Parameters
d Drawable: A drawable to set as the background.

setContentWidth

Added in API level 11
void setContentWidth (int width)

通过其内容的大小来设置弹出窗口的宽度。 最终的宽度可能更大,以适应风格的窗饰。

Parameters
width int: Desired width of content in pixels.

setDropDownGravity

Added in API level 19
void setDropDownGravity (int gravity)

设置下拉列表的重力。 这通常用于将重力设置为START或END以便与锚点对齐。

Parameters
gravity int: Gravity value to use

setHeight

Added in API level 11
void setHeight (int height)

以像素为单位设置弹出窗口的高度。 也可以是MATCH_PARENT

Parameters
height int: Height of the popup window.

setHorizontalOffset

Added in API level 11
void setHorizontalOffset (int offset)

从其锚点视图中以像素为单位设置此弹出框的水平偏移量。

Parameters
offset int: The horizontal offset of the popup from its anchor.

setInputMethodMode

Added in API level 11
void setInputMethodMode (int mode)

控制如何的弹出与输入方法工作:之一 INPUT_METHOD_FROM_FOCUSABLEINPUT_METHOD_NEEDED ,或 INPUT_METHOD_NOT_NEEDED

如果弹出窗口显示,调用此方法仅在下次显示弹出窗口或通过手动调用 show()方法时 show()

Parameters
mode int

也可以看看:

setListSelector

Added in API level 11
void setListSelector (Drawable selector)

设置一个drawable用作列表项目选择器。

Parameters
selector Drawable: List selector drawable to use in the popup.

setModal

Added in API level 11
void setModal (boolean modal)

设置此窗口在显示时是否应为模态。

如果一个弹出窗口是模态的,它将接收所有的触摸和键输入。 如果用户触摸弹出窗口的内容区域,则弹出窗口将被解除。

Parameters
modal boolean: true if the popup window should be modal, false otherwise.

setOnDismissListener

Added in API level 11
void setOnDismissListener (PopupWindow.OnDismissListener listener)

设置一个监听器,当弹出框被解除时接收回调。

Parameters
listener PopupWindow.OnDismissListener: Listener that will be notified when the popup is dismissed.

setOnItemClickListener

Added in API level 11
void setOnItemClickListener (AdapterView.OnItemClickListener clickListener)

设置侦听器以在单击列表项时接收事件。

Parameters
clickListener AdapterView.OnItemClickListener: Listener to register

也可以看看:

setOnItemSelectedListener

Added in API level 11
void setOnItemSelectedListener (AdapterView.OnItemSelectedListener selectedListener)

设置侦听器以在选择列表项目时接收事件。

Parameters
selectedListener AdapterView.OnItemSelectedListener: Listener to register.

也可以看看:

setPromptPosition

Added in API level 11
void setPromptPosition (int position)

设置可选提示视图应显示的位置。 默认值是POSITION_PROMPT_ABOVE

Parameters
position int: A position constant declaring where the prompt should be displayed.

也可以看看:

setPromptView

Added in API level 11
void setPromptView (View prompt)

设置视图以充当此弹出窗口的用户提示。 提示视图出现的位置由setPromptPosition(int)控制。

Parameters
prompt View: View to use as an informational prompt.

setSelection

Added in API level 11
void setSelection (int position)

设置列表的选定位置。 isShowing() == true时才有效。

Parameters
position int: List position to set as selected.

setSoftInputMode

Added in API level 11
void setSoftInputMode (int mode)

设置软输入区域的操作模式。

Parameters
mode int: The desired mode, see softInputMode for the full list

也可以看看:

setVerticalOffset

Added in API level 11
void setVerticalOffset (int offset)

从其锚点视图中以像素为单位设置此弹出窗口的垂直偏移量。

Parameters
offset int: The vertical offset of the popup from its anchor.

setWidth

Added in API level 11
void setWidth (int width)

设置弹出窗口的宽度(以像素为单位)。 也可以是MATCH_PARENTWRAP_CONTENT

Parameters
width int: Width of the popup window.

setWindowLayoutType

Added in API level 23
void setWindowLayoutType (int layoutType)

为此弹出窗口设置布局类型。

有关可能的值,请参阅 type

Parameters
layoutType int: Layout type for this window.

也可以看看:

show

Added in API level 11
void show ()

显示弹出列表。 如果列表已经显示,则此方法将重新计算弹出窗口的大小和位置。

Hooray!