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
}
};www.2cto.com
//为下拉列表绑定事件监听器
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;
}
}