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;

           }      

        });

    

    }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM