Android(安卓)Spinner
16lz
2021-12-04
- (1)新建一个Android工程,名字为SpinnerActy。修改layout下的main.xml,添加一个Textview和一个Spinner,文件内容如下:
- <?xmlversion="1.0"encoding=”utf-8″?>
- <LinearLayout
- android:id="@+id/widget28"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <TextView
- android:id="@+id/TextView_Show"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="你选择的是"
- android:textSize="25sp">
- </TextView>
- <Spinner
- android:id="@+id/spinner_City"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- </Spinner><!–定义一个下拉菜单–>
- </LinearLayout>
- (2)修改你的SpinnerActy类,在这里我们就要记住五步来自定义一个Spinner了,完整代码及五步注释如下:
- packagecom.xtlh.spinner;
- importjava.util.ArrayList;
- importjava.util.List;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.view.MotionEvent;
- importandroid.view.View;
- importandroid.view.View.OnTouchListener;
- importandroid.view.animation.Animation;
- importandroid.view.animation.AnimationUtils;
- importandroid.widget.AdapterView;
- importandroid.widget.ArrayAdapter;
- importandroid.widget.Spinner;
- importandroid.widget.TextView;
- publicclassSpinnerActyextendsActivity{
- /**Calledwhentheactivityisfirstcreated.*/
- privateList<String>list=newArrayList<String>();
- privateTextViewmyTextView;
- privateSpinnermySpinner;
- privateArrayAdapter<String>adapter;
- privateAnimationmyAnimation;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
- list.add("北京");
- list.add("上海");
- list.add("深圳");
- list.add("南京");
- list.add("重庆");
- myTextView=(TextView)findViewById(R.id.TextView_Show);
- mySpinner=(Spinner)findViewById(R.id.spinner_City);
- //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
- adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
- //第三步:为适配器设置下拉列表下拉时的菜单样式。
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //第四步:将适配器添加到下拉列表上
- mySpinner.setAdapter(adapter);
- //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
- mySpinner.setOnItemSelectedListener(newSpinner.OnItemSelectedListener(){
- publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){
- //TODOAuto-generatedmethodstub
- /*将所选mySpinner的值带入myTextView中*/
- myTextView.setText("您选择的是:"+adapter.getItem(arg2));
- /*将mySpinner显示*/
- arg0.setVisibility(View.VISIBLE);
- }
- publicvoidonNothingSelected(AdapterView<?>arg0){
- //TODOAuto-generatedmethodstub
- myTextView.setText("NONE");
- arg0.setVisibility(View.VISIBLE);
- }
- });
- /*下拉菜单弹出的内容选项触屏事件处理*/
- mySpinner.setOnTouchListener(newSpinner.OnTouchListener(){
- publicbooleanonTouch(Viewv,MotionEventevent){
- //TODOAuto-generatedmethodstub
- /*将mySpinner隐藏,不隐藏也可以,看自己爱好*/
- v.setVisibility(View.INVISIBLE);
- returnfalse;
- }
- });
- /*下拉菜单弹出的内容选项焦点改变事件处理*/
- mySpinner.setOnFocusChangeListener(newSpinner.OnFocusChangeListener(){
- publicvoidonFocusChange(Viewv,booleanhasFocus){
- //TODOAuto-generatedmethodstub
- v.setVisibility(View.VISIBLE);
- }
- });
- }
- }
更多相关文章
- Android中ExpandableListView控件基本使用
- 浅析GridView制作九宫格列表
- android:showAsAction="never"是做什么用的
- 为Android内核添加新驱动,并添加到menuconfig菜单
- 为Android内核添加新驱动,并添加到menuconfig菜单
- android:showAsAction="never"是做什么用的
- Android(安卓)Wear 控件——WearableListView(附Demo)
- Android(安卓)Material Design: NavigationView抽屉导航菜单(策
- Android(安卓)AutoCompleteTextView示例教程