前言

  本章内容是 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

  二、概述

    Android 中文API (38) —— Spinner

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

  三、XML属性

属性名称

描述

android:prompt

该提示在下拉列表对话框显示时显示。(译者注:对话框的标题: Android 中文API (38) —— Spinner

  四、公共方法

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 AlertDialog ————单选对话框
  2. Android 系统音量最大值的定义位置以及默认值的修改方法
  3. android 多项对话框
  4. Android使用DialogFragment,自定义对话框
  5. 关于android在Service中弹出Dialog对话框
  6. android 自定义对话框 背景透明
  7. 【翻译】(26)Android如何绘画视图
  8. Android - GridView,自定义开关控件,状态选择器selector,自定义对话

随机推荐

  1. 【前端】如何阻止ios微信下双击屏幕向上
  2. JavaScript流程控制与循环遍历
  3. PHP环境安装
  4. #初学PHP
  5. JS学习之 解构赋值
  6. php数据类型及变量的定义使用
  7. PHP第一课 变量命名、数据类型
  8. 第四课 box-sizing、伪类、媒体查询移动
  9. PHP基础
  10. iOS tableView右侧索引视图状态获取的方