spinner:就是下拉列表,这个工程的就是创建一个下拉列表,当选择列表中的一个Item后,就将这个Item显示在首项上。

先看看效果:

 

 

layout中的main.xml文件:

 
  
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout   
  3.     xmlns:android="http://schemas.android.com/apk/res/android" 
  4.     android:orientation="vertical" 
  5.     android:layout_width="fill_parent" 
  6.     android:layout_height="fill_parent" 
  7.     > 
  8.       
  9.     <TextView 
  10.         android:id="@+id/myText" 
  11.         android:layout_width="fill_parent" 
  12.         android:layout_height="wrap_content" 
  13.         android:text="选择你喜欢的颜色:"   
  14.          /> 
  15.          //创建一个spinner,prompt就是设置下拉列表  
  16.           //的内容,我这里的内容是从values下的string.xml  
  17.          //中取得的  
  18.     <Spinner 
  19.         android:id="@+id/mySpinner" 
  20.         android:layout_width="fill_parent" 
  21.         android:layout_height="wrap_content" 
  22.         android:prompt="@string/color" 
  23.         > 
  24.           
  25.     </Spinner> 
  26.           
  27.       
  28. </LinearLayout> 

 

 

values中的string.xml文件:

 
  
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3.  
  4.     <string name="app_name">SpinnerProject</string> 
  5.     <string name="hello_world">Hello world!</string> 
  6.     <string name="menu_settings">Settings</string> 
  7.       
  8.     <string name="color" >选择颜色:</string> 
  9.          //这里是定义个数组,就是下拉列表中的内容,这里你可以写该成你自己的选项  
  10.     <string-array name="colors"> 
  11.         <item>黑色 | Black</item> 
  12.         <item>白色 | White</item> 
  13.         <item>灰色 | gray</item> 
  14.         <item>绿色 | green</item> 
  15.         <item>红色 | red</item> 
  16.         <item>蓝色 | blue</item> 
  17.         <item>粉色 | Pink</item> 
  18.     </string-array> 
  19. </resources> 

Activaty.java文件:

 

 
  
  1. package com.cheng.spinnerproject;  
  2.  
  3. import android.os.Bundle;  
  4. import android.R.string;  
  5. import android.app.Activity;  
  6. import android.view.Menu;  
  7. import android.view.View;  
  8. import android.widget.AdapterView;  
  9. import android.widget.AdapterView.OnItemSelectedListener;  
  10. import android.widget.ArrayAdapter;  
  11. import android.widget.Spinner;  
  12. import android.widget.Toast;  
  13.  
  14. public class SpinnerActivaty extends Activity {  
  15.  
  16.     private Spinner mSpinner;  
  17.     @Override 
  18.     protected void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         super.setContentView(R.layout.main);  
  21.         //得到在xml文件中定义的spinner  
  22.         mSpinner = (Spinner)findViewById(R.id.mySpinner);  
  23.         //准备一个数组适配器,这里的样式是使用系统的样式  
  24.         ArrayAdapter adapter = ArrayAdapter.createFromResource(SpinnerActivaty.this, R.array.colors, android.R.layout.select_dialog_item);  
  25.         //设置下拉列表的样式  
  26.         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
  27.         //为下拉列表设置适配器  
  28.         mSpinner.setAdapter(adapter);  
  29.           
  30.         //定义元素选择监听器  
  31.         OnItemSelectedListener oisl = new OnItemSelectedListener() {  
  32.  
  33.             @Override 
  34.             public void onItemSelected(AdapterView<?> parent, View view,  
  35.                     int position, long id) {  
  36.                 // TODO Auto-generated method stub  
  37.                //当选择了一个Item之后,我们用一个Toast将选择的信息显示出来  
  38.                 Toast.makeText(SpinnerActivaty.this"selected"+parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show();  
  39.             }  
  40.  
  41.             @Override 
  42.             public void onNothingSelected(AdapterView<?> arg0) {  
  43.                 // TODO Auto-generated method stub  
  44.                   
  45.             }  
  46.         };  
  47.         //为下拉列表绑定事件监听器  
  48.         mSpinner.setOnItemSelectedListener(oisl);  
  49.     }  
  50.  
  51.     @Override 
  52.     public boolean onCreateOptionsMenu(Menu menu) {  
  53.         // Inflate the menu; this adds items to the action bar if it is present.  
  54.         getMenuInflater().inflate(R.menu.main, menu);  
  55.         return true;  
  56.     }  
  57.  
  58. }  

好了,今天就到这了,睡觉!