• 下拉列表Spinner的使用


    

    1.在res/values/strings.xml文件中加入字符串资源   

       

     <string name="ys">您的爱好</string>
        <string name="lq">篮  球</string>
        <string name="zq">足  球</string>
        <string name="pq">排  球</string>


    2.准备颜色资源在res/values目录下新建colors.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="red">#fd8d8d</color>
    	<color name="green">#9cfda3</color>
    	<color name="blue">#8d9dfd</color>
    	<color name="white">#FFFFFF</color>
    	<color name="black">#000000</color>
    </resources>


    3.设置布局。在main.xml文件中写如下代码

    <LinearLayout 
      android:id="@+id/LinearLayout01"   
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="vertical"
      xmlns:android="http://schemas.android.com/apk/res/android">
      <TextView 
        android:text="@string/ys"
        android:id="@+id/TextView01" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:textSize="28dip"/>
      <Spinner 
        android:id="@+id/Spinner01" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"/>
    </LinearLayout>


    4.源文件这样写

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.Spinner;
    import android.widget.TextView;
    import android.widget.AdapterView.OnItemSelectedListener;
    public class Spinner extends Activity {
    	final static int WRAP_CONTENT=-2;//表示WRAP_CONTENT的常量
    	//所有资源图片(足球、篮球、排球)id的数组
    	int[] drawableIds={R.drawable.football,R.drawable.basketball,R.drawable.volleyball};
    	//所有资源字符串(足球、篮球、排球)id的数组
    	int[] msgIds={R.string.zq,R.string.lq,R.string.pq};
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Spinner sp=(Spinner)this.findViewById(R.id.Spinner01);//初始化Spinner
            BaseAdapter ba=new BaseAdapter(){//为Spinner准备内容适配器
    			@Override
    			public int getCount() {return 3;}//总共三个选项
    			@Override
    			public Object getItem(int arg0) { return null; }
    			@Override
    			public long getItemId(int arg0) { return 0; }
    			@Override
    			public View getView(int arg0, View arg1, ViewGroup arg2) {
    				// 动态生成每个下拉项对应的View,每个下拉项View由LinearLayout
    				//中包含一个ImageView及一个TextView构成
    				//初始化LinearLayout
    				LinearLayout ll=new LinearLayout(Sample_5_9.this);
    				ll.setOrientation(LinearLayout.HORIZONTAL);		//设置朝向	
    				//初始化ImageView
    				ImageView  ii=new ImageView(Sample_5_9.this);
    				ii.setImageDrawable(getResources().getDrawable(drawableIds[arg0]));//设置图片
    				ll.addView(ii);//添加到LinearLayout中
    				//初始化TextView
    				TextView tv=new TextView(Sample_5_9.this);
    				tv.setText(" "+getResources().getText(msgIds[arg0]));//设置内容
    				tv.setTextSize(24);//设置字体大小
    				tv.setTextColor(R.color.black);//设置字体颜色
    				ll.addView(tv);//添加到LinearLayout中
    				return ll;
    			}        	
            };
            sp.setAdapter(ba);//为Spinner设置内容适配器
            sp.setOnItemSelectedListener(//设置选项选中的监听器
               new OnItemSelectedListener(){
    			@Override
    			public void onItemSelected(AdapterView<?> arg0, View arg1,
    					int arg2, long arg3) {//重写选项被选中事件的处理方法
    				TextView tv=(TextView)findViewById(R.id.TextView01);//获取主界面TextView
    				LinearLayout ll=(LinearLayout)arg1;//获取当前选中选项对应的LinearLayout
    				TextView tvn=(TextView)ll.getChildAt(1);//获取其中的TextView 
    				StringBuilder sb=new StringBuilder();//用StringBuilder动态生成信息
    				sb.append(getResources().getText(R.string.ys));
    				sb.append(":");
    				sb.append(tvn.getText());
    				tv.setText(sb.toString());//信息设置进主界面TextView		
    			}
    			@Override
    			public void onNothingSelected(AdapterView<?> arg0) { }        	   
               }
            );
        }
    }

    版权声明:

  • 相关阅读:
    迭代器基础知识
    C语言I博客作业09
    第一周作业
    C语言1博客作业04
    C语言I博客作业08
    C语言博客作业05
    C语言I作业12—学期总结
    C语言I博客作业10
    C语言I博客作业06
    C语言I博客作业11
  • 原文地址:https://www.cnblogs.com/walccott/p/4957120.html
Copyright © 2020-2023  润新知