android高级组件(2)AutoCompleteTextView,MutiAutoCompleteTextView,Spinner,ListView

来源:互联网 发布:阿里云服务器建站 编辑:程序博客网 时间:2024/06/06 02:42

AutoCompleteTextView 自动完成文本框

EditText的子类,是一个输入框自动完成功能,从数据源中匹配,找到后,自动提示必须使用适配器,一般使用ArrayAdapter,把数据源和视图连接起来

在Activity_main中

自己的布局//数据源String[] names = { "zhangsan", "lisi", "wangwu", "zhaoliu", "tianqi",            "wangba", "laojiu" };//适配器ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,    R.layout.autoadaptor, R.id.tv1, names);//R.layout.autoadaptor : 数据源要使用的布局//R.id.tv1 : 添加到布局的哪个组件//最后AutoCompleteTextView ta;ta = findViewById(R.id.actv);ta.setAdapter(adapter);系统的布局//适配器不同        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,                android.R.layout.simple_list_item_1, names);//数据源如果是数组,也可以是list,类型如果是对象,对象要实现toString方法        public String toString() {            return name+"::"+age;        }

MultiAutoCompleteTextView 多行自动完成文本框

和AutoCompleteTextView相同,只不过多了一个分隔符,这个分隔符必须实现

//如果需要实现不同的符号,直接copy CommaTokenizer的源代码,修改字符
ta.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

Spinner 下拉列表

数据源来源
1.可以在xml给一个数据源(xml中的字符串数组(自定义数组、系统数组@android:array/))
2.给一个适配器,也是使用ArrayAdapter

entries :设置数据源
spinner.setSelection(2,true);//选中默认值

//在MainActivity中,设置监听
ta.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView

ListView 列表视图

支持数据源
divider : 分隔符
dividerHeight : 分隔符高度
listSelector : 被选中的条目变色,(如果需要按下变色,需要修改item布局的根布局属性)
tools:listitem : 显示 默认的匹配布局
scrollbars : 右边的滚动条

渐变

<shape>    <gradient        android:centerColor="#00f"        android:endColor="#fff"        android:startColor="#0ff" /></shape>
阅读全文
0 0
原创粉丝点击