• 4.8 自定义下拉菜单模式Spinner与setDropDownViewResource


    先贴上代码.

    package edu.cquptzx.Spinner;

     

    import android.app.Activity;

    import android.os.Bundle;

    import android.view.MotionEvent;

    import android.view.View;

    import android.view.animation.Animation;

    import android.view.animation.AnimationUtils;

    import android.widget.AdapterView;

    import android.widget.ArrayAdapter;

    import android.widget.Spinner;

    import android.widget.TextView;

     

    publicclass SpinnerActivity extends Activity {

        privatestaticfinal String[] countriesStr = {"北京市","上海市","天津市","重庆市"};

        private TextView myTextView;

        private Spinner mySpinner;

        private ArrayAdapter<String> madapter ;

        Animation mAnimation;

        /** Called when the activity is first created. */

        @Override

        publicvoid onCreate(Bundle savedInstanceState)

        {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

           

            //根据Id获得对象;

            myTextView = (TextView) findViewById(R.id.textView1);

            mySpinner =(Spinner)findViewById(R.id.spinner1);

           

            //新建适配器

            madapter = new ArrayAdapter<String>(this,

                 android.R.layout.simple_spinner_item,countriesStr);

           

            //自定义下拉菜单样式定义在/layout.

            madapter.setDropDownViewResource(R.layout.layout_dropdown);

           

            //ArrayAdapter添加到Spinner对象中.

            mySpinner.setAdapter(madapter);

           

            //myspinner添加到OnItemSelectedListener

            mySpinner.setOnItemSelectedListener

            (new Spinner.OnItemSelectedListener()

            {

                  @Override

                  publicvoid onItemSelected(AdapterView<?> parent, View view, int position, long id)

                  {

                      //将所选mySpinner的值赋值给TextView

                      myTextView.setText("选择的是" + countriesStr[position]);

                     

                      //显示Spinner

                      view.setVisibility(View.VISIBLE);               

                  }

     

                  @Override

                  publicvoid onNothingSelected(AdapterView<?> parent) {

                      // TODO Auto-generated method stub

                     

                  }

           

            }

            );

           

            //取得Animation定义目录下文件

            mAnimation = AnimationUtils.loadAnimation(this, R.anim.my_anim);

           

            //mySpinner添加OnTouchListener

            mySpinner.setOnTouchListener(new Spinner.OnTouchListener()

            {

               publicboolean onTouch(View v, MotionEvent event)

               {

                  //设置动画

                  v.startAnimation(mAnimation);

                 

                  //隐藏mySpinner

                  //v.setVisibility(View.INVISIBLE);

                  returnfalse;

               }      

            });

        

        }

    }

  • 相关阅读:
    使用ffmpeg将mp4切片成ts slice 并生成m3u8命令,同时让IIS支持支持 m3u8
    C# 自动下移动光标 。winform 发送tab,在WPF中
    C# 获取当前程序路径方法整理
    Jeecg-Boot 2.0.0 版本发布,基于Springboot+Vue 前后端分离快速开发平台
    vue2.0源码-丰富的选项合并策略
    JavaScript 核心原理精讲
    前端性能优化
    Vue Router模式
    css3实现圆角三角形
    CSS动画
  • 原文地址:https://www.cnblogs.com/xilifeng/p/2662949.html
Copyright © 2020-2023  润新知