?
本文檔使用 PHP中文網(wǎng)手冊(cè) 發(fā)布
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)是一個(gè)每次只能選擇所有項(xiàng)中一項(xiàng)的部件。它的項(xiàng)來自于與之相關(guān)聯(lián)的適配器中。
?
XML屬性
屬性名稱 |
描述 |
android:prompt |
該提示在下拉列表對(duì)話框顯示時(shí)顯示。(譯者注:對(duì)話框的標(biāo)題: |
?
公共方法
public int getBaseline()
返回這個(gè)控件文本基線的偏移量。如果這個(gè)控件不支持基線對(duì)齊,那么方法返回-1.
返回值
返回控件基線左邊邊界位置,不支持時(shí)返回-1
?????????????????? (譯者注:這個(gè)類不知道干什么用,只找到下面的代碼
???? 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()
???????? 返回值????
當(dāng)對(duì)話框彈出的時(shí)候顯示的提示(譯者注:獲得彈出視圖上的標(biāo)題字)
?
public void onClick(DialogInterface dialog, int which)
當(dāng)點(diǎn)擊彈出框中的項(xiàng)時(shí)這個(gè)方法將被調(diào)用。
參數(shù)
dialog?????? 點(diǎn)擊彈出的對(duì)話框
which ???? 點(diǎn)擊按鈕(如:Button)或者點(diǎn)擊位置
?
public Boolean performClick()
如果它被定義就調(diào)用此視圖的OnClickListener(譯者注:例如可以在加載時(shí)默認(rèn)彈出下拉列表)。
???????? 返回值
為True一個(gè)指定的OnClickListener被調(diào)用,為false時(shí)不被調(diào)用。
?
public void setOnItemClickListener(AdapterView.OnItemClickListener? I)
??????? Spinner不支持item的點(diǎn)擊事件,調(diào)用此方法將引發(fā)異常。
參數(shù)
l??????? 這個(gè)監(jiān)聽將被忽略
?
public void setPromptId(CharSequence prompt)
設(shè)置對(duì)話框彈出的時(shí)候顯示的提示(譯者注:設(shè)置彈出視圖上的標(biāo)題字)
參數(shù)
prompt???? 設(shè)置的提示
?
public void setPromptId(int promptId)
設(shè)置對(duì)話框彈出的時(shí)候顯示的提示(譯者注:設(shè)置彈出視圖上的標(biāo)題字)
參數(shù)
prompted 當(dāng)對(duì)話框顯示是顯示這個(gè)資源id所代表的提示。
?
受保護(hù)的方法
protected void onDetachedFromWindow ()
當(dāng)這個(gè)視圖從屏幕上卸載時(shí)候被調(diào)用。在這一點(diǎn)上不再繪制視圖。
?
protected void onLayout (boolean changed, int l, int t, int r, int b)
當(dāng)View要為所有子對(duì)象分配大小和位置時(shí),調(diào)用此方法。派生類與子項(xiàng)們應(yīng)該重載這個(gè)方法和調(diào)用布局每一個(gè)子項(xiàng)。
???????? 參數(shù)
changed?? 這是這個(gè)視圖的一個(gè)新的大小或位置
l??????? 相對(duì)父空間的左位置
t??????? 相對(duì)父空間的頂端位置
r??????? 相對(duì)父空間的右端位置
b?????? 相對(duì)父空間的底部位置
參見
Creates and
positions all views
?
補(bǔ)充
???????? 文章鏈接
?????????????????? Android學(xué)習(xí)指南——Spinner 下拉列表
?????????????????? android自定義Spinner下拉菜單(下拉列表框)樣式
???????? 示例代碼
?????????????????? Java代碼
public class SpinnerActivity extends Activity {
???
??? 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("請(qǐng)選擇顏色" );
?????? //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測(cè)試</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>