1. (1)新建一个Android工程,名字为SpinnerActy。修改layout下的main.xml,添加一个Textview和一个Spinner,文件内容如下:
  2. <?xmlversion="1.0"encoding=”utf-8″?>
  3. <LinearLayout
  4. android:id="@+id/widget28"
  5. android:layout_width="fill_parent"
  6. android:layout_height="fill_parent"
  7. android:orientation="vertical"
  8. xmlns:android="http://schemas.android.com/apk/res/android">
  9. <TextView
  10. android:id="@+id/TextView_Show"
  11. android:layout_width="fill_parent"
  12. android:layout_height="wrap_content"
  13. android:text="你选择的是"
  14. android:textSize="25sp">
  15. </TextView>
  16. <Spinner
  17. android:id="@+id/spinner_City"
  18. android:layout_width="fill_parent"
  19. android:layout_height="wrap_content">
  20. </Spinner><!–定义一个下拉菜单–>
  21. </LinearLayout>
  22. (2)修改你的SpinnerActy类,在这里我们就要记住五步来自定义一个Spinner了,完整代码及五步注释如下:
  23. packagecom.xtlh.spinner;
  24. importjava.util.ArrayList;
  25. importjava.util.List;
  26. importandroid.app.Activity;
  27. importandroid.os.Bundle;
  28. importandroid.view.MotionEvent;
  29. importandroid.view.View;
  30. importandroid.view.View.OnTouchListener;
  31. importandroid.view.animation.Animation;
  32. importandroid.view.animation.AnimationUtils;
  33. importandroid.widget.AdapterView;
  34. importandroid.widget.ArrayAdapter;
  35. importandroid.widget.Spinner;
  36. importandroid.widget.TextView;
  37. publicclassSpinnerActyextendsActivity{
  38. /**Calledwhentheactivityisfirstcreated.*/
  39. privateList<String>list=newArrayList<String>();
  40. privateTextViewmyTextView;
  41. privateSpinnermySpinner;
  42. privateArrayAdapter<String>adapter;
  43. privateAnimationmyAnimation;
  44. @Override
  45. publicvoidonCreate(BundlesavedInstanceState){
  46. super.onCreate(savedInstanceState);
  47. setContentView(R.layout.main);
  48. //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
  49. list.add("北京");
  50. list.add("上海");
  51. list.add("深圳");
  52. list.add("南京");
  53. list.add("重庆");
  54. myTextView=(TextView)findViewById(R.id.TextView_Show);
  55. mySpinner=(Spinner)findViewById(R.id.spinner_City);
  56. //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
  57. adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
  58. //第三步:为适配器设置下拉列表下拉时的菜单样式。
  59. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  60. //第四步:将适配器添加到下拉列表上
  61. mySpinner.setAdapter(adapter);
  62. //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
  63. mySpinner.setOnItemSelectedListener(newSpinner.OnItemSelectedListener(){
  64. publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){
  65. //TODOAuto-generatedmethodstub
  66. /*将所选mySpinner的值带入myTextView中*/
  67. myTextView.setText("您选择的是:"+adapter.getItem(arg2));
  68. /*将mySpinner显示*/
  69. arg0.setVisibility(View.VISIBLE);
  70. }
  71. publicvoidonNothingSelected(AdapterView<?>arg0){
  72. //TODOAuto-generatedmethodstub
  73. myTextView.setText("NONE");
  74. arg0.setVisibility(View.VISIBLE);
  75. }
  76. });
  77. /*下拉菜单弹出的内容选项触屏事件处理*/
  78. mySpinner.setOnTouchListener(newSpinner.OnTouchListener(){
  79. publicbooleanonTouch(Viewv,MotionEventevent){
  80. //TODOAuto-generatedmethodstub
  81. /*将mySpinner隐藏,不隐藏也可以,看自己爱好*/
  82. v.setVisibility(View.INVISIBLE);
  83. returnfalse;
  84. }
  85. });
  86. /*下拉菜单弹出的内容选项焦点改变事件处理*/
  87. mySpinner.setOnFocusChangeListener(newSpinner.OnFocusChangeListener(){
  88. publicvoidonFocusChange(Viewv,booleanhasFocus){
  89. //TODOAuto-generatedmethodstub
  90. v.setVisibility(View.VISIBLE);
  91. }
  92. });
  93. }
  94. }

更多相关文章

  1. Android中ExpandableListView控件基本使用
  2. 浅析GridView制作九宫格列表
  3. android:showAsAction="never"是做什么用的
  4. 为Android内核添加新驱动,并添加到menuconfig菜单
  5. 为Android内核添加新驱动,并添加到menuconfig菜单
  6. android:showAsAction="never"是做什么用的
  7. Android(安卓)Wear 控件——WearableListView(附Demo)
  8. Android(安卓)Material Design: NavigationView抽屉导航菜单(策
  9. Android(安卓)AutoCompleteTextView示例教程

随机推荐

  1. Android 开发有哪些新技术出现?
  2. ch018 Android webview
  3. Android Theme主题继承(SDK下主题和v7包下
  4. Android控制文字水平间距android:letterS
  5. Android Contacts(一)—— 读取联系人
  6. android 自定义控件全系列导航
  7. Android Studio导入第三方类库的方法
  8. 为什么必须要学flutter
  9. Android 应用开发推荐书单
  10. Android开发之WebView的使用(1)