天天看点

API 25 (Android 7.1.1 API) widget.Spinner【XML属性】【继承自widget.AbsSpinner的XML属性】【继承自view.ViewGroup的XML属性】【继承自view.View的XML属性】【公共构造函数】【公共方法】

Android  API  25 (Android 7.1.1)

Spinner

public class Spinner

extends AbsSpinner implements DialogInterface.OnClickListener

Added in API level 1

java.lang.Object

   ↳android.view.View

    ↳android.view.ViewGroup

     ↳android.widget.AdapterView<android.widget.SpinnerAdapter>

      ↳android.widget.AbsSpinner

       ↳android.widget.Spinner

已知直接子类:

AppCompatSpinner

【概述】

显示子项让用户选择的视图。该组件中的条目通过一个Adapter进行关联。

参见Spinners指南。

【XML属性】

android:dropDownHorizontalOffset

关联方法:setDropDownHorizontalOffset(int pixels)

API 5

属性说明:为下拉列表项设置水平偏移像素值。

必须是带单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关像素)、sp(通常用

于字体尺寸的可伸缩像素)、in(英寸)、mm(毫米)。

也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是dropDownHorizontalOffset。

仅在MODE_DROPDOWN模式中有效。

android:dropDownSelector

API 1

属性说明:在spinner的显示模式为dropdown时,设置的选项列表。

可以引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。

可以是颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。

对应的全局属性资源符号是dropDownSelector。

android:dropDownVerticalOffset

关联方法:setDropDownVerticalOffset(int pixels)

API 5

属性说明:为下拉列表项设置竖直偏移像素值。

必须是带单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关像素)、sp(通常用

于字体尺寸的可伸缩像素)、in(英寸)、mm(毫米)。

也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是dropDownHorizontalOffset。

仅在MODE_DROPDOWN模式中有效。

android:dropDownWidth

关联方法:setDropDownWidth(int pixels)

API 3

属性说明:在spinner的显示模式为dropdown时,设置下拉列表项宽度。

必须是带单位的浮点型尺寸值(float),如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关像素)、sp(通常用于字体尺寸的可伸缩像素)、in(英寸)、mm(毫米)。

也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。

可以是以下常数值之一:

fill_parent   -1  视图应该和它的父对象一样大(减去填充)。

此常数从API级别8开始弃用,并由match_parent替换。

match_parent  -1  视图应该和它的父对象一样大(减去填充)。在API级别8中引入。

wrap_content  -2  视图应该足够大以包围其内容(加上填充)。

对应的全局属性资源符号是layout_height。

android:gravity

关联方法:setGravity(int gravity)

API 1

属性说明:为当前被选中子项设置重心。

必须是以下一个或多个(用”|”分隔)常量:

top               将对象推送到其容器的顶部,而不更改其大小。

bottom            将对象推送到其容器的底部,而不更改其大小。

left              将对象推送到其容器的左侧,而不更改其大小。

right             将对象推送到其容器的右侧,而不更改其大小。

center            将对象放置在其容器的垂直和水平轴的中心,而不改变其大小。

center_vertical   将对象放置在其容器的垂直中心,而不改变其大小。

centet_horizontal 将对象放置在其容器的水平中心,而不改变其大小。

fill              如果需要,增大对象的水平和垂直尺寸,以便它完全填充其容器。

fill_vertical     如果需要,增大对象的垂直尺寸,以便它完全填充其容器。

fill_horizontal   如果需要,增大对象的水平尺寸,以便它完全填充其容器。

clip_vertical     附加的可选设置,它可以设置容器内子对象的上下边缘裁剪它的容器边框。裁剪会基于垂直对齐的方式:顶部对齐的会裁剪底部边缘,底部对齐的会裁剪顶部边缘,不会上下边缘都裁剪。

clip_horizontal   附加的可选设置,它可以设置容器内子对象的左右边缘裁剪它的容器边框。裁剪会基于水平对齐的方式:左对齐的会裁剪右边缘,右对齐的会裁剪左边缘,不会左右边缘都裁剪。

start           将对象推送到其容器的起始处,而不更改其大小。

end             将对象推送到其容器的结尾处,而不更改其大小。

对应的全局属性资源符号是gravity。

android:popupBackground

关联方法:setPopupBackgroundResource(int resId)

API 1

属性说明:在spinner的显示模式为dropdown时,设置下拉列表项的背景图像。

可以引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。

可以是颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。

对应的全局属性资源符号是popupBackground。

仅在MODE_DROPDOWN模式中有效。

android:prompt

API 1

属性说明:在spinner的显示模式为dialog时,在对话框出现时显示的提示语。必须为引用类型。

可以引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是prompt。

android:spinnerMode

API 11

属性说明:设置spinner选项的显示模式。

必须是以下常量值之一:

dialog        对话窗

dropdown      内嵌下拉列表

对应的全局属性资源符号是spinerMode。

【继承自widget.AbsSpinner的XML属性】

android:entries

API 1

属性说明:引用将填充spinner下拉框的数组资源。对于静态内容,这比以编程方式填充Spinner更简单。

必须引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是entries。

例:Layout下XML代码:

<Spinner  

       android:id="@+id/degree"  

       android:layout_width="fill_parent"  

       android:layout_height="wrap_content"  

       android:entries="@array/degrees" />  

引用资源在values目录下:

<string-array name="degrees">  

       <item>初中及以下</item>  

       <item>高中</item>  

       <item>大学</item>  

       <item>研究生及以上</item>  

</string-array>

在Activity程序需中使用代码添加数据:

public class SpinnerDemoActivity extends Activity {  

    private Spinner city = null;                        //要读取的下拉列表  

    private ArrayAdapter<CharSequence> cities = null;  //要使用的Adapter

 //CharSequence是String和StringBuffer的父类,不直接使用String,是出于对StringBuffer的兼容

    public void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        super.setContentView(R.layout.main);  

        city = (Spinner) super.findViewById(R.id.city); //获取下拉列表  

        city.setPrompt("您所在的城市是:");                                  //设置Prompt  

        cities = ArrayAdapter.createFromResource(this, R.array.cities,android.R.layout.simple_spinner_item);

       //实例化ArrayAdapter  

        city.setAdapter(cities);//设置显示信息  

     }  

}  

【继承自view.ViewGroup的XML属性】

...

【继承自view.View的XML属性】

..

【公共构造函数】

Spinner(Context context)

Spinner(Context context,int mode)

Spinner(Context context, AttributeSet attrs)

Spinner(Context context, AttributeSet attrs, int defStyleAttr)

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

Spinner(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes,int mode)

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

【公共方法】

getAccessbilityClassName

CharSequence  getAccessibilityClassName () 

API 23

用于辅助功能返回此对象的类名。当其子类被用于辅助功能时,并在view中作为一个完整的新类以实现一些目的时,子类只能重写(override),该子类与所继承的类不再有关联。

被用于填写AccessibilityNodeInfo.setClassName。

getBaseline

int  getBaseline ()

API 1

从窗口小部件的顶边界返回窗口小部件的文本基线的偏移量。如果此窗口小部件不支持基线对齐,则此方法返回-1。

getDropDownHorizontalOffset

int getDropDownHorizontalOffset ()

API 16

获取选择的Spinner的弹出窗口的配置水平偏移量,单位为像素。

仅在MODE_DROPDOWN中有效;其他模式将返回0。

getDropDownVerticalOffset

int getDropDownVerticalOffset ()

API 16

获取选择的Spinner的弹出窗口的配置垂直偏移量,单位为像素。

仅在MODE_DROPDOWN中有效;其他模式将返回0。

getDropDownWidth

int getDropDownWidth ()

API 16

获取选择的Spinner的弹出窗口的配置宽度,单位为像素。

返回的值也可以是MATCH_PARENT,这意味着弹出窗口将匹配Spinner本身的宽度,或者WRAP_CONTENT将包装到包含的下拉列表项的测量大小。

getGravity

int getGravity ()

API 16

说明所选择的项目视图如何定位。默认值由当前主题确定。

getPopupBackground

Drawable getPopupBackground ()

API 16

获取选择的Spinner的弹出窗口的背景绘制。

仅在MODE_DROPDOWN中有效;其他模式将返回null。

getPopupContext

Context getPopupContext ()

API 23

获取选择的Spinner的弹出窗口或对话窗口中用来填充的上下文。

getPrompt

CharSequence getPrompt ()

API 1

获取选择的Spinner的对话窗口的提示。

onClick

void onClick (DialogInterface dialog, int which)

API 1

当单击对话框中的按钮时,将调用此方法。

onRestoreInstanceState

void onRestoreInstanceState (Parcelable state)

API 1

挂起以允许视图重新应用其内部状态的一个映像,其内部状态已由onSaveInstanceState()方法产生。该方法绝对不会在null状态下被调用。

onSaveInstanceState

Parcelable onSaveInstanceState ()

API 1

挂起以允许视图产生其内部状态的一个映像,该映像稍后可用于创建具有相同状态的新实例。此状态应仅包含不持久的信息或以后不能重建的信息。例如,你永远不会将当前位置存储在屏幕上,因为当视图的新实例放置在其视图层次结构中时,将再次计算。

您可能在此处存储的某些事例:文本视图中当前光标位置(但通常不是文本本身,因为它们存储在内容提供者或其他持久存储中),列表视图中当前选定的项。

onTouchEvent

boolean onTouchEvent (MotionEvent event)

API 1

实现此方法以处理触摸屏手势事件。

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

·服从点击声音首选项

·调度OnClickListener调用

·在启用辅助功能时处理ACTION_CLICK

performClick

boolean performClick ()

API 1

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

setAdapter

void setAdapter (SpinnerAdapter adapter)

API 1

设置用于提供支持此Spinner数据的SpinnerAdapter。

如果此Spinner具有通过popupTheme属性在XML中设置的popup主题,则适配器应使用相同的主题来填充下拉视图。

实现这个最简单的方法是使用getPopupContext()获取一个布局天重启用于getDropDownView(int, View, ViewGroup)。

Spinner重写与此视图关联的适配器上的getViewTypeCount()。 在getAdapter()返回的对象上调用getItemViewType(int)将总是返回0。调用getViewTypeCount()将总是返回1。在API LOLLIPOP及以上版本上,尝试设置一个具有多个视图类型的适配器将抛出IllegalArgumentException异常。

setDropDownHorizontalOffset

void setDropDownHorizontalOffset (int pixels)

API 16

设置spinner的弹出式窗口的水平偏移量(以像素为单位)。

仅在MODE_DROPDOWN模式中有效;在其他模式下无操作的。

setDropDownVerticalOffset

void setDropDownVerticalOffset (int pixels)

API 16

设置spinner的弹出式窗口的垂直偏移量(以像素为单位)。

仅在MODE_DROPDOWN模式中有效;在其他模式下无操作的。

setDropDownWidth

void setDropDownWidth (int pixels)

API 16

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

也可以是MATCH_PARENT,这意味着弹出窗口将匹配Spinner本身的宽度,或者WRAP_CONTENT将包装到包含的下拉列表项的测量大小。

仅在MODE_DROPDOWN模式中有效;在其他模式下无操作的。

setEnabled

void setEnabled (boolean enabled)

API 1

设置此视图的启用状态。启用状态的解释因子类而异。

setGravity

void setGravity (int gravity)

API 11

说明所选择的项目视图如何定位。目前,只有水平分量被使用。默认值由当前主题确定。

setOnItemClickListener

void setOnItemClickListener (AdapterView.OnItemClickListener l)

API 1

Spinner不支持项目点击事件。 调用此方法将引发异常。

而应使用setOnItemSelectedListener(AdapterView.OnItemSelectedListener)。

setPopupBackgroundDrawable

void setPopupBackgroundDrawable (Drawable background)

API 16

设置选择的Spinner的弹出窗口的背景绘制。

仅在MODE_DROPDOWN模式中有效;在其他模式下无操作的。

setPopupBackgroundResource

void setPopupBackgroundResource (int resId)

API 16

设置选择的Spinner的弹出窗口的背景绘制。

仅在MODE_DROPDOWN模式中有效;在其他模式下无操作的。

setPrompt

void setPrompt (CharSequence prompt)

API 1

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

setPromptId

void setPromptId (int promptId)

API 1

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



继续阅读