首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

4.8 自定义上拉菜单模式-Spinner与setDropDownViewResource

2012-08-26 
4.8 自定义下拉菜单模式---Spinner与setDropDownViewResource?package com.chaowenimport android.app.Ac

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

?

package com.chaowen;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;public class Ex04_08_spinner extends Activity {private static final String[] countriesStr =  {"北京","上海","天津","广东"};  private TextView myTextView;  private Spinner mySpinner;  private ArrayAdapter<String> adapter;  Animation myAnimation;  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    myTextView = (TextView) findViewById(R.id.myTextView);    mySpinner = (Spinner) findViewById(R.id.mySpinner);    adapter = new ArrayAdapter<String>(this,        android.R.layout.simple_spinner_item, countriesStr);      //myspinner_dropdown为自定义下拉菜单样式 定义在res/layout目录下    adapter.setDropDownViewResource(R.layout.myspinner_dropdown);    //将ArrayAdapter添加到Spinner对象中    mySpinner.setAdapter(adapter);    //将mySpinner添加OnItemSelectedListener    mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()    {      @Override      public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,          long arg3)      {         //将所选mySpinnner的值带入myTextview        myTextView.setText("选择的是" + countriesStr[arg2]);        //将mySpinner显示        arg0.setVisibility(View.VISIBLE);      }      @Override      public void onNothingSelected(AdapterView<?> arg0)      {        // TODO Auto-generated method stub      }    });   //取得Animation定义在res/anim目录    myAnimation = AnimationUtils.loadAnimation(this, R.anim.my_anim);    //将mySpinner添加OnTouchListener    mySpinner.setOnTouchListener(new Spinner.OnTouchListener()    {@Overridepublic boolean onTouch(View v, MotionEvent event) { //将mySpinner运行Animation        v.startAnimation(myAnimation);         //将mySpinner隐藏        v.setVisibility(View.INVISIBLE);        return false;}    });    mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener()    {      @Override      public void onFocusChange(View v, boolean hasFocus)      {        // TODO Auto-generated method stub      }    });  }}

?

?main.xml

?<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:background="@drawable/white"  >  <TextView    android:id="@+id/myTextView"  android:layout_width="fill_parent"   android:layout_height="wrap_content"   android:text="@string/title"  android:textColor="@drawable/black"  >  </TextView>  <Spinner   android:id="@+id/mySpinner"  android:layout_width="fill_parent"  android:layout_height="wrap_content"   >  </Spinner></LinearLayout>

???myspinner_dropdown.xml

??<?xml version="1.0" encoding="utf-8"?>

<TextView   xmlns:android="http://schemas.android.com/apk/res/android"   android:id="@+id/text1"   android:layout_width="wrap_content"   android:layout_height="24sp"   android:singleLine="true"  style="?android:attr/spinnerDropDownItemStyle" />  

?? my_anim.xml

??<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">  <translate   android:fromXDelta="0"   android:toXDelta="-100%p"   android:duration="300"  >  </translate>  <alpha   android:fromAlpha="1.0"   android:toAlpha="0.0"   android:duration="300">  </alpha></set>

??
4.8 自定义上拉菜单模式-Spinner与setDropDownViewResource

?

热点排行