1.简单的Spinner使用
实现的功能如下:
1、android:prompt="@string/partimeworkyear"是设置Spinner的标题
2、设置Spinner的格式如下
ArrayAdapter<String> partimeworkyearAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, mItems);
partimeworkyearAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
布局如下:
<Spinner
android:id="@+id/partimeworkyear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/spinner_bg_default_two"
android:gravity="center_vertical"
android:paddingLeft="2dip"
android:prompt="@string/partimeworkyear"
android:textColor="@color/high_gray"
android:textSize="14dip" />
实现的代码如下:
partimeworkyear = (Spinner) findViewById(R.id.partimeworkyear);
String[] mItems = getResources()
.getStringArray(R.array.partimeworkyear);
ArrayAdapter<String> partimeworkyearAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, mItems);
partimeworkyearAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
partimeworkyear.setAdapter(partimeworkyearAdapter);
partimeworkyear.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String str = parent.getItemAtPosition(position).toString();
Toast.makeText(CreateParttimeResume.this, "你点击的是:" + str, 2000)
.show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
引用的字符串和字符串数组如下:
<string name="partimeworkyear">请输入你的工作年限</string>
<string-array name="partimeworkyear">
<item>在读学生</item>
<item>应届毕业生</item>
<item>1年及以下</item>
<item>1~2年</item>
<item>3~5年</item>
<item>5~8年</item>
<item>8~10年</item>
<item>10年以上</item>
</string-array>
2.自定义Spinner中的item的使用
下拉列表框在应用中也经常使用,下面就看看它的简单的实现方法
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="50dip" />
动态实现的方法
TextView textView;
Spinner spinner;
int[] images = { R.drawable.image1, R.drawable.image2, R.drawable.image3,
R.drawable.image4, R.drawable.wawa };
int[] course = { R.string.O_C, R.string.GDB, R.string.WP7, R.string.linux,
R.string.computer };
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.spinner);
textView = (TextView) findViewById(R.id.textview);
spinner = (Spinner) findViewById(R.id.spinner);
BaseAdapter myAdapter = new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LinearLayout layout = new LinearLayout(AndroidDemoActivity.this);
layout.setOrientation(LinearLayout.HORIZONTAL);
ImageView imageView = new ImageView(AndroidDemoActivity.this);
imageView.setImageDrawable(getResources().getDrawable(
images[position]));
imageView.setLayoutParams(new Gallery.LayoutParams(60, 60));
// 不按比例拉伸图片
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
layout.addView(imageView);
TextView text = new TextView(AndroidDemoActivity.this);
text.setText(getResources().getText(course[position]));
text.setTextSize(22);
// 设置字体的颜色
layout.addView(text);
return layout;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return course.length;
}
};
spinner.setAdapter(myAdapter);
// 设置下拉框的标题
spinner.setPrompt("请选择你想上的课程:");
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
LinearLayout layout = (LinearLayout) arg1;
TextView textcontent = (TextView) layout.getChildAt(1);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(getResources().getText(R.string.course));
stringBuilder.append(textcontent.getText());
textView.setText(stringBuilder.toString());
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
实现的效果图如下