Spinner 下拉选择框
Android给我们提供了一个Spinner控件,这个控件主要就是一个列表,Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器。Spinner是View类得一个子类。
package com.yydcdut.spinnerstudy; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends Activity { private Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = (Spinner) findViewById(R.id.spiiner); ArrayAdapter<String> adapter = new ArrayAdapter<String>( getApplicationContext(), android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.add("123"); adapter.add("321"); adapter.add("123321"); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Spinner spinner1 = (Spinner) parent; String content = (String) spinner1.getItemAtPosition(position);// 取得与Spinner关联的列表数据的指定位置的数据 Toast.makeText(getApplicationContext(), "position-->" + position + "内容-->" + content, Toast.LENGTH_LONG).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { // TODO 自动生成的方法存根 } }); } }
接下来我们通过更换adapter.setDropDownViewResource(android.R.layout.test_list_item);里面的xml参数来看一看弹出的样式,具体可以参考一下:http://hi.baidu.com/ihsauqaxblbdmwq/item/62fa237f935a6a580d0a0780
AutoCompleteTextView
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String[] names = { "z11", "z22", "z33", "a44", "a55" }; AutoCompleteTextView auto = (AutoCompleteTextView) findViewById(R.id.auto); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, names); auto.setAdapter(adapter); } }
AutoCompleteTextView是实现动态匹配输入的内容。如google搜索引擎当输入文本时可以根据内容显示匹配的热门信息。
虽然AutoCompleteTextView不是Android的常用控件,但是它的实用性还是很强的,具体的使用可以参考ApiDemos,对于基本的用法,它有很详细的说明。但是这些例子远远无法满足我们的需求,下面讲一下几个例子中没有涉及到的属性。
- completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。
- dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。
- dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。
- dropDownWidth:设置自动提示列表的宽度。
我是天王盖地虎的分割线
源代码:http://pan.baidu.com/s/1dD1Qx01
spinner学习.zip
autocompletetextview学习.zip
本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3829539.html,如需转载请自行联系原作者