android_高级控件_1
有蛮久没更新了今天来记录一下android的高级控件
AutoCompleteTextView(自动补全):
开发过web项目的小伙伴们应该知道在web项目中实现自动补全是有多麻烦,在安卓开发中实现自动补全真的是太舒服了!!
下面是我写的代码
xml布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"><AutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/ac_actv" android:completionThreshold="1" /> </LinearLayout>
java代码:
还有一个相似的:MultiAutoCompleteTextView(该控件可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。)下面看看我写的代码:xml布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"><MultiAutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/am_mu" android:completionThreshold="1" /> </LinearLayout>
java代码
public class MultiActivity extends AppCompatActivity {private MultiAutoCompleteTextView am_mu;@Override protected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_multi);am_mu = (MultiAutoCompleteTextView) findViewById(R.id.am_mu);//定义字符串数组 String sname[]={"张三","张三疯","李四","李四疯"};//设置适配器 ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,sname);//设置分隔符 MultiAutoCompleteTextView.Tokenizer tokenizer=new MultiAutoCompleteTextView.CommaTokenizer();am_mu.setTokenizer(tokenizer);am_mu.setAdapter(arrayAdapter);} }
和AutoCompleteTextView差不蛮多,只是多了一个分隔符,分隔符默认的是逗号,也可以自定义分隔符为其他符号。再来分享一个控件spinner(下拉菜单)类似于web中的select下拉菜单我用spinner实现了一个二级联动的效果,下面看下代码:xml(布局):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"><Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ao_sp" ></Spinner><Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ao_sp2" ></Spinner></LinearLayout>
java代码:
public class OneActivity extends AppCompatActivity {private Spinner spinner;private Spinner spinner2;private Map<String, List<String>> map;private List<String> hunan;private List<String> hubei;@Override protected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_one);spinner = (Spinner) findViewById(R.id.ao_sp);spinner2 = (Spinner) findViewById(R.id.ao_sp2);//定义省份数组 provinces final String provinces[]={"湖南省","湖北省"};map = new HashMap<String,List<String>>();hunan = new ArrayList<String>();hunan.add("长沙市");hunan.add("株洲市");map.put("湖南省", hunan);hubei = new ArrayList<String>();hubei.add("武汉市");hubei.add("襄阳市");map.put("湖北省", hubei);//适配器 ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,provinces);//设置控件的适配器 spinner.setAdapter(arrayAdapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {private ArrayAdapter arrayAdapter2;@Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {List<String> city=map.get(provinces[position]);arrayAdapter2 = new ArrayAdapter(OneActivity.this,android.R.layout.simple_list_item_1,city);spinner2.setAdapter(arrayAdapter2);}@Override public void onNothingSelected(AdapterView<?> parent) {}});} }
还有一个Listview是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。 列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。2.适配器 用来把数据映射到ListView上的中介。3.数据 具体的将被映射的字符串,图片,或者基本组件。根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
public class AutoActivity extends AppCompatActivity {private AutoCompleteTextView ac_actv;@Override protected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_aotu);ac_actv = (AutoCompleteTextView) findViewById(R.id.ac_actv);//定义字符串数组 String sname[]={"张三","张三疯","李四","李四疯"};//定义适配器 ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,sname);//将适配器写到AutoCompleteTextView中 ac_actv.setAdapter(arrayAdapter);} }
android_高级控件_1相关推荐
- RecyclerView高级控件-附实例【android专题】
RecyclerView高级控件 RecyclerView是Android 及其重要的一个高级UI控件,使用频率及其的高,APP的90%以上的页面都会使用的到.由于其出色的性能和插拔式的架构设计,被全 ...
- Android高级控件(二)——SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现...
Android高级控件(二)--SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现 写这个的原因呢,也是因为项目中用到了gif动画,虽然网上有很多的架包可以实现,不过我们还 ...
- 《移动项目实践》实验报告——Android高级控件
实验目的 1.熟悉App开发常用的一些高级控件及相关工具,主要包括日期时间控件的用法.列表类视图及其适配器的用法.翻页类视图及其适配器的用法.碎片及其适配器的用法等: 2.熟悉四大组件之一广播Broa ...
- Android从入门到进阶之高级控件
高级控件 1.自动完成文本控件 在搜索引擎(百度.搜狗)输入几个文字,会出来一些提示.可以减少用户的输入,提高程序的效率.刚才看到的自动提示,ajax技术. 1.1AotoCompleteTextVi ...
- WinForm高级控件实例--职员信息登记
WinForm高级控件实例--职员信息登记 转载于:https://www.cnblogs.com/macT/p/9288092.html
- Android高级控件----AdapterView与Adapter详解
在J2EE中提供过一种非常好的框架--MVC框架,实现原理:数据模型M(Model)存放数据,利用控制器C(Controller)将数据显示在视图V(View)上.在Android中有这样一种高级控件 ...
- 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第八章:高级控件
本章介绍了App开发常用的一些高级控件用法,主要包括:如何使用下拉框及其适配器.如何使用列表 类视图及其适配器.如何使用翻页类视图及其适配器.如何使用碎片及其适配器等.然后结合本章所学 的知识,演示了 ...
- 三、PyQt5高级控件的使用
(四)PyQt5高级控件的使用 PyQt5中包含了很多用于简化窗口设计的可视化控件,除了常用控件外,还有一些关于进度.展示数据等的高级控件. 本章重点讲解PyQt5程序开发中用到的一些高级控件,主要包 ...
- Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能
Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...
最新文章
- Python+OpenCV实现AI人脸识别身份认证系统(3)—训练人脸识别模型
- 【ZooKeeper Notes 14】数据模型
- Android模拟器安装程序及上传音乐并播放
- oracle 10g 白皮书,Oracle 10g标准版与企业版
- 数据结构c语言版题库含答案,求数据结构c语言版的习题和答案?
- CocoaPods集成ShareSDK
- Maximum Mode
- Django的model form组件
- Python: str、datetime、time、seconds
- CodeForces 1437F Emotional Fishermen(计数dp)
- UI设计中签到页面如何设计
- IDEA插件系列(20):Grep Console插件——显示多颜色调试日志
- 虚拟机环境安装 | 查看修改主机名
- 量子计算机和量子纠缠的关系,“量子纠缠”是个什么鬼?竟然震惊了全球!
- H5实现无插件视频监控按需直播
- 神奇粪菌移植技术挽救垂危妙龄女
- SpringCloud重试机制配置
- php 在对象中递归 坑,PHP_PHP对象递归引用造成内存泄漏分析,通常来说,如果PHP对象存在递 - phpStudy...
- Linux安装telnet软件包,Linux下安装telnet
- 实现echart柱形图上方自定义图片显示
热门文章
- raw 格式镜像的 分区 、格式化和挂载操作
- devstack mysql_DevStack部署Openstack环境
- Unity平滑函数Lerp简单介绍
- [FPS网络游戏]关于通过万能码定位到战宠伤害搜法
- jdk8的最新win10安装教程
- mint ui tab html,Vue Mint UI tabbar切换
- android如何调用百度搜索,Android-百度地图的调用(检索功能)
- qiu奇偶数c语言,C语言逗号表达式 .
- 本地缓存王者,Caffeine 保姆级教程!给力...
- 笔记本电脑坏了,那些零件可以再利用