前言

  本章内容是 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( Bundle savedInstanceState ) 
    {
     super.onCreate ( savedInstanceState );
        Spinner spinner = new Spinner ( this );
        spinner.setPrompt( "500" );
        String [ ] items = { "bam", "boo", "lab", "code", "programming", "framework", "android" };

ArrayAdapter array_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.OnItemClickListener I)

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 {
    /** Called when the activity is first created. */
    String mes = "Wolf";
    private static final String[] m_arr = {"第一组","第二组","第三组"};
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); 
       Spinner s1 = (Spinner)findViewById(R.id.Spinner01); 
       s1.setPrompt("请选择颜色" ); 
       //ArrayAdapter adapter = 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, View arg1, 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(String str){
        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
    }   
}

      XML资源文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, 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">Please Choose a Item!</string>
</resources>

结束

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

转载:http://www.cnblogs.com/over140/archive/2010/11/17/1879794.html

Android 中文API (38) —— Spinner相关推荐

  1. Android 中文API (94) —— MediaController

    前言 本章内容是android.widget.MediaController,版本为Android 2.3 r1,翻译来自"唐明",再次感谢"唐明" !期待你一 ...

  2. Android 中文 API 文档 (45) —— AbsoluteLayout.LayoutParams

    前言 本章内容是 android.widget.AbsoluteLayout.LayoutParams,版本为Android 2.2 r1,翻译来自"绵白糖",再次感谢" ...

  3. Android 中文API (92) —— MenuInflater

    前言 本章内容是android.view.MenuInflater,版本为Android 2.3 r1,翻译来自"獨鍆躌踄",欢迎大家访问他的博客:http://www.cnblo ...

  4. Android 中文 API (90) —— WindowManager

    一.结构 public interface WindowManager extends android.view.ViewManager android.view.WindowManager 二.概述 ...

  5. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是 android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android 2.3 r ...

  6. Android中文API(127) —— MessageQueue

    结构 继承关系 public class MessageQueue extends Object java.lang.Object android.os.MessageQueue 类概述 保存消息列表 ...

  7. android 中文 API (41) —— RatingBar.OnRatingBarChangeListener

    前言 本章内容是 android.widget.RatingBar.OnRatingBarChangeListener,版本为Android 2.2 r1,翻译来自madgoat,欢迎大家访问他的博客 ...

  8. Android 中文API (91) —— GestureDetector

    前言 本章内容是android.view.GestureDetector,版本为Android 2.3 r1,翻译来自"Haiya 胡蝶",再次感谢"Haiya 胡蝶&q ...

  9. Android 中文 API (93) —— BaseExpandableListAdapter

    前言 本章内容是android.widget.BaseExpandableListAdapter,版本为Android 2.3 r1,翻译来自"天涯明月刀",欢迎大家访问他的博客: ...

  10. Android 中文 API (19) —— TwoLineListItem

    一.结构 public class TwoLineListItem extends RelativeLayout java.lang.Object android.view.View android. ...

最新文章

  1. 基于caffe的度量学习实现(Siamese network Triplet network)
  2. tcl c语言笔试题,TCL技术类笔试题目.doc
  3. mysql 数据文件压缩,压缩MySQL数据文件的妙招
  4. python【力扣LeetCode算法题库】101-对称二叉树
  5. Java打乱牌的算法_Leetcode 384. 打乱数组 (洗牌算法)
  6. python os 文件锁_python 中给文件加锁——fcntl模块
  7. html_5_小作业2_世纪佳缘注册页面
  8. Exploring Pyramids【动态规划——区间DP】
  9. golang 项目设置后台运行
  10. 无人驾驶、免费乘坐,硅谷的出租车行业要变天了
  11. 用bootstrap模态框的时候,点击多少次按钮(确定、关闭),后台提交多少次Ajax,重复提交...
  12. 谈谈BFC与ie特有属性hasLayout
  13. 如何使用Beckhoff平台进行串口通讯(EL6002,EL6022)
  14. 线程安全问题?怎么解决线程安全
  15. cdr导出pdf是html的,CorelDraw 文件导出PDF CDR页码插件 忽略视图及颜色样式补丁
  16. arcgis显示后台错误_arcgis desktop遇到严重的应用程序错误,无法继续的解决方案...
  17. ASP.Net使用ADSI操作IIS遇到的0x80070005等问题研究记录
  18. 旷视科技完成4.6亿美元C轮融资,再破AI融资记录 | 聚焦
  19. Linux上搭建ElasticSearch-8.x集群以及安装Kibana(保姆级安装教程)
  20. 各向异性导电高分子复合薄膜-供应石墨烯基透明导电/聚丙烯腈纳米二维氮化硼纤维薄膜/机械剥离单层MoS2/MoSe2/MoTe2/WS2/WSe2/WTe2/石墨烯定制

热门文章

  1. python语言源程序文件类型_浅谈Python的文件类型
  2. python如何将天数转换为日期字符串
  3. 解决Hadoop运行时的WARN util. NativeCodeLoader: Unable to load native-hadoop library for your platform
  4. MyBlog前端开发
  5. windows下的安装与使用curl实现命令行访问Web网站
  6. Java获取泛型类的实际类型的实例
  7. Git提交失败之 Updates were rejected because the tip of your current branch is behind
  8. linux内核驱动子系统,linux内核中的MFD子系统
  9. python open文件被另一个进程打开怎么办,在Windows上,如何打开一个已经被另一个进程打开进行写入的文件?...
  10. php 读取文件的所有图片格式,扣丁学堂PHP培训简述PHP如何读取文件夹下所有图片、文件-php文件...