前言

  本章内容是 android.widget.Spinner,译为"下拉列表",版本为Android 2.2 r1,翻译来自"思考的狼",欢迎大家访问他的博客:http://blog.163.com/sikaodelang@126/ ,再次感谢"思考的狼" !期待你一起参与Android API 的中文翻译,联系我over140@gmail.com。

声明

  欢迎转载,但请保留文章原始出处:)

    博客园:http://www.cnblogs.com/

    Android中文翻译组:http://www.cnblogs.com/over140/

正文

  一、结构

    public final class Spinner extends AbsSpinner


    java.lang.Object

    android.view.View

      android.view.ViewGroup

  android.widget.AdapterView<T extends android.widget.Adapter>

  android.widget.AbsSpinner

android.widget.Spinner

  二、概述

    

    下拉列表(Spinner)是一个每次只能选择所有项中一项的部件。它的项来自于与之相关联的适配器中。

  三、XML属性

属性名称

描述

android:prompt

该提示在下拉列表对话框显示时显示。(译者注:对话框的标题:

  四、公共方法

public int getBaseline()

返回这个控件文本基线的偏移量。如果这个控件不支持基线对齐,那么方法返回-1.

返回值

返回控件基线左边边界位置,不支持时返回-1

(译者注:这个类不知道干什么用,只找到下面的代码:

public class AndroidBamboo extends Activity
{
public void onCreate(BundlesavedInstanceState)
{
super .onCreate(savedInstanceState);
Spinnerspinner
= new Spinner( this );
spinner.setPrompt(
" 500 " );
String[]items
= { " bam " , " boo " , " lab " , " code " , " programming " , " framework " , " android " };

ArrayAdapterarray_adapter
= new ArrayAdapter < String > ( this ,android.R.layout.simple_spinner_item,items);
array_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(array_adapter);
int baseline = spinner.getBaseline();
setContentView(spinner);
}
}

public CharSequence getPrompt()

  返回值

当对话框弹出的时候显示的提示(译者注:获得弹出视图上的标题字)

public void onClick(DialogInterface dialog, int which)

当点击弹出框中的项时这个方法将被调用。

参数

  dialog 点击弹出的对话框

  which 点击按钮(如:Button)或者点击位置

public Boolean performClick()

如果它被定义就调用此视图的OnClickListener(译者注:例如可以在加载时默认弹出下拉列表)。

  返回值

True一个指定的OnClickListener被调用,为false时不被调用。

public void setOnItemClickListener(AdapterView.OnItemClickListenerI)

Spinner不支持item的点击事件,调用此方法将引发异常。

参数

  l 这个监听将被忽略

public void setPromptId(CharSequence prompt)

设置对话框弹出的时候显示的提示(译者注:设置弹出视图上的标题字)

参数

prompt 设置的提示

public void setPromptId(int promptId)

设置对话框弹出的时候显示的提示(译者注:设置弹出视图上的标题字)

参数

  prompted 当对话框显示是显示这个资源id所代表的提示。

  五、受保护方法

protected void onDetachedFromWindow ()

当这个视图从屏幕上卸载时候被调用。在这一点上不再绘制视图。

protected void onLayout (boolean changed, int l, int t, int r, int b)

View要为所有子对象分配大小和位置时,调用此方法。派生类与子项们应该重载这个方法和调用布局每一个子项。

参数

changed 这是这个视图的一个新的大小或位置

l 相对父空间的左位置

t 相对父空间的顶端位置

r 相对父空间的右端位置

b 相对父空间的底部位置

参见

Creates and positions all views

  六、补充

    文章链接

Android学习指南——Spinner 下拉列表

android自定义Spinner下拉菜单(下拉列表框)样式

    示例代码

      Java代码

public class SpinnerActivity extends Activity{
/** Calledwhentheactivityisfirstcreated. */
Stringmes
= " Wolf " ;
private static final String[]m_arr = { " 第一组 " , " 第二组 " , " 第三组 " };
@Override
public void onCreate(BundlesavedInstanceState){
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinners1
= (Spinner)findViewById(R.id.Spinner01);
s1.setPrompt(
" 请选择颜色 " );
// ArrayAdapteradapter=ArrayAdapter.createFromResource(this,R.array.spinnercolor,android.R.layout.simple_spinner_item);
ArrayAdapter < String > adapter = new ArrayAdapter < String > ( this ,android.R.layout.simple_spinner_item,m_arr);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(adapter);
s1.setSelection(
1 , true );
// s1.setPromptId(CONTEXT_INCLUDE_CODE);


int baseline = s1.getBaseline();
s1.performClick();
s1.setOnItemSelectedListener(
new Spinner.OnItemSelectedListener(){
public void onItemSelected(AdapterView <?> arg0,Viewarg1, int arg2, long arg3){
dispToast(
" 选择的是 " + m_arr[arg2]);
arg0.setVisibility(View.VISIBLE);
}
public void onNothingSelected(AdapterView <?> arg0){
//
}
});
Toast.makeText(
this ,s1.getPrompt(),Toast.LENGTH_LONG).show();
}
public void dispToast(Stringstr){
Toast.makeText(
this ,str,Toast.LENGTH_SHORT).show();
}
}

      XML资源文件

<? xmlversion="1.0"encoding="utf-8" ?>
< resources >
< string name ="hello" > HelloWorld,SpinnerActivity! </ string >
< string name ="app_name" > Spinner测试 </ string >
< string-array name ="spinnercolor" >
< item > 红色 </ item >
< item > 绿色 </ item >
< item > 白色 </ item >
< item > 橙色 </ item >
</ string-array >
< string name ="planet_prompt" > PleaseChooseaItem! </ string >
</ resources >

结束

  感谢"思考的狼"为文章提供完善的翻译及示例:)

更多相关文章

  1. android EditText 隐藏软键盘(输入法不显示),并且显示光标
  2. Native+WebApp中Phonegap调用Android(安卓)Activity
  3. 对于Fragment的总结
  4. Android的Html类分析与扩展
  5. Native+WebApp中Phonegap调用Android(安卓)Activity
  6. Android平台mass storage相关代码
  7. android init.rc增加一个自定义的service
  8. Android应用程序中的多个Activity的显示创建和调用
  9. Android(安卓)Webview调用系统相册实现多选图片上传

随机推荐

  1. Android Studio 无法预览xml布局视图
  2. [原创]Android(安卓)HAL实例学习-Jollen
  3. Android打包常见问题
  4. 菜鸟的安卓实习之路----editText 只允许
  5. Delphi XE5 Android 调用手机震动
  6. Android x86 4.4-r5 分支修改笔记——系
  7. Android ——对HandlerThread的理解和注
  8. AndroidManifest.xml 详解 (五) 之uses-f
  9. Android 简单的网络变化监听器
  10. Android Studio多个Module依赖同一个jar