EX04_08.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex04_08;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.MotionEvent;
  5. import android.view.View;
  6. import android.view.animation.Animation;
  7. import android.view.animation.AnimationUtils;
  8. import android.widget.AdapterView;
  9. import android.widget.ArrayAdapter;
  10. import android.widget.TextView;
  11. import android.widget.ListView;
  12. import android.widget.Spinner;
  13. public class EX04_08 extends Activity
  14. {
  15.   private static final String[] countriesStr =
  16.   { "北京市", "上海市", "天津市", "重庆市" };
  17.   private TextView myTextView;
  18.   private Spinner mySpinner;
  19.   private ArrayAdapter<String> adapter;
  20.   Animation myAnimation;
  21.   /** Called when the activity is first created. */
  22.   @Override
  23.   public void onCreate(Bundle savedInstanceState)
  24.   {
  25.     super.onCreate(savedInstanceState);
  26.     /* 载入main.xml Layout */
  27.     setContentView(R.layout.main);
  28.     /* 以findViewById()取得对象 */
  29.     myTextView = (TextView) findViewById(R.id.myTextView);
  30.     mySpinner = (Spinner) findViewById(R.id.mySpinner);
  31.     adapter = new ArrayAdapter<String>(this,
  32.         android.R.layout.simple_spinner_item, countriesStr);
  33.     /* myspinner_dropdown为自定义下拉菜单模式定义在res/layout目录下 */
  34.     adapter.setDropDownViewResource(R.layout.myspinner_dropdown);
  35.     /* 将ArrayAdapter添加Spinner对象中 */
  36.     mySpinner.setAdapter(adapter);
  37.     /* 将mySpinner添加OnItemSelectedListener */
  38.     mySpinner.setOnItemSelectedListener
  39.      (new Spinner.OnItemSelectedListener()
  40.     {
  41.       @Override
  42.       public void onItemSelected
  43.        (AdapterView<?> arg0, View arg1, int arg2,
  44.           long arg3)
  45.       {
  46.         /* 将所选mySpinner的值带入myTextView中 */
  47.         myTextView.setText("选择的是" + countriesStr[arg2]);
  48.         /* 将mySpinner显示 */
  49.         arg0.setVisibility(View.VISIBLE);
  50.       }
  51.       @Override
  52.       public void onNothingSelected(AdapterView<?> arg0)
  53.       {
  54.         // TODO Auto-generated method stub
  55.       }
  56.     });
  57.     /* 取得Animation定义在res/anim目录下 */
  58.     myAnimation = AnimationUtils.loadAnimation(this, R.anim.my_anim);
  59.     /* 将mySpinner添加OnTouchListener */
  60.     mySpinner.setOnTouchListener(new Spinner.OnTouchListener()
  61.     {
  62.       @Override
  63.       public boolean onTouch(View v, MotionEvent event)
  64.       {
  65.         /* 将mySpinner运行Animation */
  66.         v.startAnimation(myAnimation);
  67.         /* 将mySpinner隐藏 */
  68.         v.setVisibility(View.INVISIBLE);
  69.         return false;
  70.       }
  71.     });
  72.     mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener()
  73.     {
  74.       @Override
  75.       public void onFocusChange(View v, boolean hasFocus)
  76.       {
  77.         // TODO Auto-generated method stub
  78.       }
  79.     });
  80.   }
  81. }