前言html
本章內容是 android.widget.Spinner,譯爲"下拉列表",版本爲Android 2.2 r1,翻譯來自"思考的狼",歡迎你們訪問他的博客:http://blog.163.com/sikaodelang@126/ ,再次感謝"思考的狼" !期待你一塊兒參與Android API 的中文翻譯,聯繫我over140@gmail.com。
java
聲明android
歡迎轉載,但請保留文章原始出處:)
app
博客園:http://www.cnblogs.com/ide
Android中文翻譯組:http://www.cnblogs.com/over140/ 佈局
正文學習
1、結構測試
public final class Spinner extends AbsSpinnerui
java.lang.Objectthis
android.view.View
android.view.ViewGroup
android.widget.AdapterView<T extends android.widget.Adapter>
android.widget.AbsSpinner
android.widget.Spinner
2、概述
下拉列表(Spinner)是一個每次只能選擇全部項中一項的部件。它的項來自於與之相關聯的適配器中。
3、XML屬性
屬性名稱 |
描述 |
android:prompt |
該提示在下拉列表對話框顯示時顯示。(譯者注:對話框的標題: |
4、公共方法
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所表明的提示。
5、受保護方法
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
6、補充
文章連接
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
>
結束
感謝"思考的狼"爲文章提供完善的翻譯及示例:)