spinner:就是下拉列表,这个工程的就是创建一个下拉列表,当选择列表中的一个Item后,就将这个Item显示在首项上。
先看看效果:
layout中的main.xml文件:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:id="@+id/myText"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="选择你喜欢的颜色:"
- />
- //创建一个spinner,prompt就是设置下拉列表
- //的内容,我这里的内容是从values下的string.xml
- //中取得的
- <Spinner
- android:id="@+id/mySpinner"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:prompt="@string/color"
- >
- </Spinner>
- </LinearLayout>
values中的string.xml文件:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="app_name">SpinnerProject</string>
- <string name="hello_world">Hello world!</string>
- <string name="menu_settings">Settings</string>
- <string name="color" >选择颜色:</string>
- //这里是定义个数组,就是下拉列表中的内容,这里你可以写该成你自己的选项
- <string-array name="colors">
- <item>黑色 | Black</item>
- <item>白色 | White</item>
- <item>灰色 | gray</item>
- <item>绿色 | green</item>
- <item>红色 | red</item>
- <item>蓝色 | blue</item>
- <item>粉色 | Pink</item>
- </string-array>
- </resources>
Activaty.java文件:
- package com.cheng.spinnerproject;
- import android.os.Bundle;
- import android.R.string;
- import android.app.Activity;
- import android.view.Menu;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemSelectedListener;
- import android.widget.ArrayAdapter;
- import android.widget.Spinner;
- import android.widget.Toast;
- public class SpinnerActivaty extends Activity {
- private Spinner mSpinner;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- super.setContentView(R.layout.main);
- //得到在xml文件中定义的spinner
- mSpinner = (Spinner)findViewById(R.id.mySpinner);
- //准备一个数组适配器,这里的样式是使用系统的样式
- ArrayAdapter adapter = ArrayAdapter.createFromResource(SpinnerActivaty.this, R.array.colors, android.R.layout.select_dialog_item);
- //设置下拉列表的样式
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //为下拉列表设置适配器
- mSpinner.setAdapter(adapter);
- //定义元素选择监听器
- OnItemSelectedListener oisl = new OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view,
- int position, long id) {
- // TODO Auto-generated method stub
- //当选择了一个Item之后,我们用一个Toast将选择的信息显示出来
- Toast.makeText(SpinnerActivaty.this, "selected"+parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show();
- }
- @Override
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- }
- };
- //为下拉列表绑定事件监听器
- mSpinner.setOnItemSelectedListener(oisl);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
好了,今天就到这了,睡觉!