是啊,你说的很对,网上有时候找资料就是重复性很高,炒来炒去
这是我在SDK开发范例大全中看到的例子,希望可以帮到你package irdc.ex04_08;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.TextView;
import android.widget.ListView;
import android.widget.Spinner;public class EX04_08 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);
/* 载入main.xml Layout */
setContentView(R.layout.main); /* 以findViewById()取得对象 */
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)
{
/* 将所选mySpinner的值带入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()
{ @Override
public 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
}
});
}
}
这是我在SDK开发范例大全中看到的例子,希望可以帮到你package irdc.ex04_08;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.TextView;
import android.widget.ListView;
import android.widget.Spinner;public class EX04_08 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);
/* 载入main.xml Layout */
setContentView(R.layout.main); /* 以findViewById()取得对象 */
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)
{
/* 将所选mySpinner的值带入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()
{ @Override
public 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
}
});
}
}
Constructor
Parameters
context The current context.
resource The resource ID for a layout file containing a layout to use when instantiating views.
textViewResourceId The id of the TextView within the layout resource to be populated
objects The objects to represent in the ListView.第二个参数就是定义的每个item的layout,前缀是android.R.layout.***的表示是google帮你写好的你拿来用就可以了,如果是你自己的layout应该写R.layout.***,主要看你在import的时候是import的哪个R文件.
默认的layout可以在这里找到
http://androidappdocs.appspot.com/reference/android/R.layout.html