天天看點

Android 中文API (38) —— Spinner

前言

聲明

  歡迎轉載,但請保留文章原始出處:) 

正文

  一、結構

    public final class spinner extends absspinner

    java.lang.object

      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

                   (譯者注:這個類不知道幹什麼用,隻找到下面的代碼:

Android 中文API (38) —— Spinner

 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 );

    }

}

Android 中文API (38) —— 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       相對父空間的底部位置

參見

  六、補充

    文章連結

    示例代碼

      java代碼

Android 中文API (38) —— Spinner

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();

    }   

Android 中文API (38) —— Spinner

      xml資源檔案

Android 中文API (38) —— Spinner

<?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>

Android 中文API (38) —— Spinner

結束

  感謝"思考的狼"為文章提供完善的翻譯及示例:)

轉載:http://www.cnblogs.com/over140/archive/2010/11/17/1879794.html

繼續閱讀