Most visited

Recently visited

AppCompatSpinner

public class AppCompatSpinner
extends Spinner implements TintableBackgroundView

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.AdapterView<android.widget.SpinnerAdapter>
         ↳ android.widget.AbsSpinner
           ↳ android.widget.Spinner
             ↳ android.support.v7.widget.AppCompatSpinner


支持旧版本平台的兼容功能的 Spinner包括:

当您在布局中使用Spinner时,这将自动使用。 编写自定义视图时,您只需手动使用此类。

Summary

Inherited XML attributes

From class android.widget.Spinner
From class android.widget.AbsSpinner
From class android.view.ViewGroup
From class android.view.View

Inherited constants

From class android.widget.Spinner
From class android.widget.AdapterView
From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

AppCompatSpinner(Context context)

按照给定的背景主题构建一个新的微调器。

AppCompatSpinner(Context context, int mode)

用给定的上下文主题和显示选项的提供模式构建一个新的微调器。

AppCompatSpinner(Context context, AttributeSet attrs)

使用给定的上下文主题和提供的属性集构造一个新的微调控件。

AppCompatSpinner(Context context, AttributeSet attrs, int defStyleAttr)

使用给定的上下文主题,提供的属性集和默认样式属性构造一个新的微调控件。

AppCompatSpinner(Context context, AttributeSet attrs, int defStyleAttr, int mode)

使用给定的上下文主题,提供的属性集和默认样式构造一个新的微调控件。

AppCompatSpinner(Context context, AttributeSet attrs, int defStyleAttr, int mode, Resources.Theme popupTheme)

使用给定的上下文主题,提供的属性集,默认样式,弹出模式( MODE_DIALOGMODE_DROPDOWN )和弹出窗口应该被夸大的上下文来构造新的微调 MODE_DROPDOWN

Public methods

int getDropDownHorizontalOffset()

为微调器的选择弹出窗口获取配置的像素水平偏移量。

int getDropDownVerticalOffset()

为微调器的选择弹出窗口获取配置的像素垂直偏移量。

int getDropDownWidth()

以像素为单位获取微调器弹出窗口选项的配置宽度。

Drawable getPopupBackground()

获取微调器弹出窗口选项的背景可绘制。

Context getPopupContext()
CharSequence getPrompt()
boolean onTouchEvent(MotionEvent event)

实现此方法来处理触摸屏幕动作事件。

boolean performClick()

调用此视图的OnClickListener(如果已定义)。

void setAdapter(SpinnerAdapter adapter)

设置用于提供支持此微调器的数据的 SpinnerAdapter

void setBackgroundDrawable(Drawable background)

此方法已弃用。 改为使用setBackground(Drawable)

void setBackgroundResource(int resId)

将背景设置为给定的资源。

void setDropDownHorizontalOffset(int pixels)

为微调器的选择弹出窗口设置水平偏移像素。

void setDropDownVerticalOffset(int pixels)

为微调器的选择弹出窗口设置像素的垂直偏移量。

void setDropDownWidth(int pixels)

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

void setPopupBackgroundDrawable(Drawable background)

为微调器的选择弹出窗口设置背景可绘制。

void setPopupBackgroundResource(int resId)

为微调器的选择弹出窗口设置背景可绘制。

void setPrompt(CharSequence prompt)

设置显示对话框时显示的提示。

Protected methods

void drawableStateChanged()

只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。

void onDetachedFromWindow()

这是在视图从窗口分离时调用的。

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

Inherited methods

From class android.widget.Spinner
From class android.widget.AbsSpinner
From class android.widget.AdapterView
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.content.DialogInterface.OnClickListener
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource
From interface android.support.v4.view.TintableBackgroundView

Public constructors

AppCompatSpinner

AppCompatSpinner (Context context)

按照给定的背景主题构建一个新的微调器。

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.

AppCompatSpinner

AppCompatSpinner (Context context, 
                int mode)

用给定的上下文主题和显示选项的提供模式构建一个新的微调器。 mode可能是MODE_DIALOGMODE_DROPDOWN

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
mode int: Constant describing how the user will select choices from the spinner.

也可以看看:

AppCompatSpinner

AppCompatSpinner (Context context, 
                AttributeSet attrs)

使用给定的上下文主题和提供的属性集构造一个新的微调控件。

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view.

AppCompatSpinner

AppCompatSpinner (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

使用给定的上下文主题,提供的属性集和默认样式属性构造一个新的微调控件。

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view.
defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.

AppCompatSpinner

AppCompatSpinner (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int mode)

使用给定的上下文主题,提供的属性集和默认样式构造一个新的微调控件。 mode可以是MODE_DIALOGMODE_DROPDOWN之一,并确定用户将如何从微调器中选择选项。

Parameters
context Context: The Context the view is running in, through which it can access the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view.
defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.
mode int: Constant describing how the user will select choices from the spinner.

也可以看看:

AppCompatSpinner

AppCompatSpinner (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int mode, 
                Resources.Theme popupTheme)

使用给定的上下文主题,提供的属性集,默认样式,弹出模式( MODE_DIALOGMODE_DROPDOWN )以及弹出窗口应该被夸大的上下文构造一个新的微调 MODE_DROPDOWN

Parameters
context Context: The context against which the view is inflated, which provides access to the current theme, resources, etc.
attrs AttributeSet: The attributes of the XML tag that is inflating the view.
defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.
mode int: Constant describing how the user will select choices from the spinner.
popupTheme Resources.Theme: The theme against which the dialog or dropdown popup should be inflated. May be null to use the view theme. If set, this will override any value specified by Spinner_popupTheme.

也可以看看:

Public methods

getDropDownHorizontalOffset

int getDropDownHorizontalOffset ()

为微调器的选择弹出窗口获取配置的像素水平偏移量。 仅在MODE_DROPDOWN有效; 其他模式将返回0。

Returns
int Horizontal offset in pixels

getDropDownVerticalOffset

int getDropDownVerticalOffset ()

为微调器的选择弹出窗口获取配置的像素垂直偏移量。 仅在MODE_DROPDOWN有效; 其他模式将返回0。

Returns
int Vertical offset in pixels

getDropDownWidth

int getDropDownWidth ()

以像素为单位获取微调器弹出窗口选项的配置宽度。 返回的值也可以是MATCH_PARENT这意味着弹出窗口将与Spinner本身的宽度相匹配,或者WRAP_CONTENT将包含到所包含下拉列表项的测量大小。

Returns
int Width in pixels, WRAP_CONTENT, or MATCH_PARENT

getPopupBackground

Drawable getPopupBackground ()

获取微调器弹出窗口选项的背景可绘制。 仅在MODE_DROPDOWN有效; 其他模式将返回null。

Returns
Drawable background Background drawable

getPopupContext

Context getPopupContext ()

Returns
Context the context used to inflate the Spinner's popup or dialog window

getPrompt

CharSequence getPrompt ()

Returns
CharSequence The prompt to display when the dialog is shown

onTouchEvent

boolean onTouchEvent (MotionEvent event)

实现此方法来处理触摸屏幕动作事件。

如果此方法用于检测点击操作,建议通过执行并调用performClick()来执行操作。 这将确保一致的系统行为,包括:

  • obeying click sound preferences
  • dispatching OnClickListener calls
  • handling ACTION_CLICK when accessibility features are enabled

Parameters
event MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

performClick

boolean performClick ()

调用此视图的OnClickListener(如果已定义)。 执行与点击相关的所有常规操作:报告辅助功能事件,播放声音等。

Returns
boolean True there was an assigned OnClickListener that was called, false otherwise is returned.

setAdapter

void setAdapter (SpinnerAdapter adapter)

设置用于提供支持此微调器的数据的 SpinnerAdapter

如果此Spinner通过popupTheme属性在XML中设置了弹出式主题,则适配器应使用相同的主题膨胀下拉视图。 实现此目的的最简单方法是使用getPopupContext()获取用于getDropDownView(int, View, ViewGroup)的布局充气器。

Spinner覆盖与此视图关联的适配器上的getViewTypeCount() 对从getAdapter()返回的对象调用getItemViewType(int)将始终返回0.调用getViewTypeCount()将始终返回1.在API LOLLIPOP及更高版本上,尝试使用多种视图类型设置适配器将引发IllegalArgumentException

Parameters
adapter SpinnerAdapter: the adapter to set

setBackgroundDrawable

void setBackgroundDrawable (Drawable background)

此方法已弃用。
改为使用setBackground(Drawable)

Parameters
background Drawable

setBackgroundResource

void setBackgroundResource (int resId)

将背景设置为给定的资源。 该资源应该引用可绘制对象或0来移除背景。

Parameters
resId int: The identifier of the resource.

setDropDownHorizontalOffset

void setDropDownHorizontalOffset (int pixels)

为微调器的选择弹出窗口设置水平偏移像素。 仅在MODE_DROPDOWN有效; 这种方法在其他模式下是无操作的。

Parameters
pixels int: Horizontal offset in pixels

setDropDownVerticalOffset

void setDropDownVerticalOffset (int pixels)

为微调器的选择弹出窗口设置像素的垂直偏移量。 仅在MODE_DROPDOWN有效; 这种方法在其他模式下是无操作的。

Parameters
pixels int: Vertical offset in pixels

setDropDownWidth

void setDropDownWidth (int pixels)

以像素为单位设置选框的弹出窗口的宽度。 该值也可以设置为MATCH_PARENT以与Spinner自身的宽度相匹配,或者WRAP_CONTENT可以包装为包含的下拉列表项的测量大小。

仅在MODE_DROPDOWN有效; 这种方法在其他模式下是无操作的。

Parameters
pixels int: Width in pixels, WRAP_CONTENT, or MATCH_PARENT

setPopupBackgroundDrawable

void setPopupBackgroundDrawable (Drawable background)

为微调器的选择弹出窗口设置背景可绘制。 仅在MODE_DROPDOWN有效; 这种方法在其他模式下是无操作的。

Parameters
background Drawable: Background drawable

setPopupBackgroundResource

void setPopupBackgroundResource (int resId)

为微调器的选择弹出窗口设置背景可绘制。 仅在MODE_DROPDOWN有效; 这种方法在其他模式下是无操作的。

Parameters
resId int: Resource ID of a background drawable

setPrompt

void setPrompt (CharSequence prompt)

设置显示对话框时显示的提示。

Parameters
prompt CharSequence: the prompt to set

Protected methods

drawableStateChanged

void drawableStateChanged ()

只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。

如果View有一个StateListAnimator,它也将被调用来运行必要的状态改变动画。

重写此功能时,一定要调用超类。

onDetachedFromWindow

void onDetachedFromWindow ()

这是在视图从窗口分离时调用的。 此时它不再有绘图表面。

onMeasure

void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用, measure(int, int)子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时, 必须致电setMeasuredDimension(int, int)来存储此视图的测量宽度和高度。 如果不这样做,将触发IllegalStateException ,由measure(int, int)引发。 调用超类' onMeasure(int, int)是一种有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以提供更好的内容度量。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

Hooray!