android开发步步为营之41:spinner的用法

来源:互联网 发布:如何下载淘宝卖家版 编辑:程序博客网 时间:2024/05/29 18:33

Spinner就是html里面的select,下拉列表,比如国家,省份,城市列表,面额选项等等,这个也是使用的非常广泛的widget,我习惯叫控件,可能之前做Asp.net的缘故。这个没什么理论介绍,直奔主题,开始我们的范例。
第一步:设计页面spinner.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignLeft="@+id/spinner1" android:layout_marginTop="48dp" android:id="@+id/tvFruit" android:text="@string/fruit"></TextView>
    <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tvFruit" android:layout_marginTop="19dp" android:id="@+id/spinnerFruit" android:layout_alignParentRight="true" android:layout_alignParentLeft="true"></Spinner>
</RelativeLayout>
   
     使用系统自带的页面android.R.layout.simple_spinner_dropdown_item
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
android:ellipsize="marquee" />
 
第二步:设计我们的数据源
res/values/array.xml里面添加
  <string-array name="fruit">
        <item>苹果</item>
        <item>香蕉</item>
        <item>橘子</item>
        <item>椰子</item>
        <item>柿子</item>  
        <item>红提</item>
        <item>芒果</item>
        <item>猕猴桃</item>
        <item>水蜜桃</item>
        <item>西瓜</item>     
    </string-array>
第三步:设计activity, SpinnerActivity.java
  /**
 *
 */
package Test.HelloWorld;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
 
/**
 * @author zhuzhifei
 *
 */
public class SpinnerActivity extends Activity {
void showToast(CharSequence msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //选择页面
        setContentView(R.layout.spinner);
        //找到spinner
        Spinner myspinner = (Spinner) findViewById(R.id.spinnerFruit);
        //组装适配器
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.fruit, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        myspinner.setAdapter(adapter);
        //选中某个选项后,添加事件
        myspinner.setOnItemSelectedListener(
                new OnItemSelectedListener() {
                    public void onItemSelected(
                            AdapterView<?> parent, View view, int position, long id) {
                        showToast("您选择的水果是:" +((TextView)view).getText());
                    }
 
                    public void onNothingSelected(AdapterView<?> parent) {
                        showToast("您没有做任何选择");
                    }
                });
    }
}
 
第四步:AndroidManifest.xml菜单里面加入我们的activity
    <activity android:name=".SpinnerActivity">
          <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
 
第五步:运行效果
 

0 0
原创粉丝点击