返回介绍

Spinner

发布于 2025-03-09 17:00:34 字数 5835 浏览 0 评论 0 收藏 0

Spinner

版本:Android 2.2 r1

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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文