有蛮久没更新了今天来记录一下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相关推荐

  1. RecyclerView高级控件-附实例【android专题】

    RecyclerView高级控件 RecyclerView是Android 及其重要的一个高级UI控件,使用频率及其的高,APP的90%以上的页面都会使用的到.由于其出色的性能和插拔式的架构设计,被全 ...

  2. Android高级控件(二)——SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现...

    Android高级控件(二)--SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现 写这个的原因呢,也是因为项目中用到了gif动画,虽然网上有很多的架包可以实现,不过我们还 ...

  3. 《移动项目实践》实验报告——Android高级控件

    实验目的 1.熟悉App开发常用的一些高级控件及相关工具,主要包括日期时间控件的用法.列表类视图及其适配器的用法.翻页类视图及其适配器的用法.碎片及其适配器的用法等: 2.熟悉四大组件之一广播Broa ...

  4. Android从入门到进阶之高级控件

    高级控件 1.自动完成文本控件 在搜索引擎(百度.搜狗)输入几个文字,会出来一些提示.可以减少用户的输入,提高程序的效率.刚才看到的自动提示,ajax技术. 1.1AotoCompleteTextVi ...

  5. WinForm高级控件实例--职员信息登记

    WinForm高级控件实例--职员信息登记 转载于:https://www.cnblogs.com/macT/p/9288092.html

  6. Android高级控件----AdapterView与Adapter详解

    在J2EE中提供过一种非常好的框架--MVC框架,实现原理:数据模型M(Model)存放数据,利用控制器C(Controller)将数据显示在视图V(View)上.在Android中有这样一种高级控件 ...

  7. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第八章:高级控件

    本章介绍了App开发常用的一些高级控件用法,主要包括:如何使用下拉框及其适配器.如何使用列表 类视图及其适配器.如何使用翻页类视图及其适配器.如何使用碎片及其适配器等.然后结合本章所学 的知识,演示了 ...

  8. 三、PyQt5高级控件的使用

    (四)PyQt5高级控件的使用 PyQt5中包含了很多用于简化窗口设计的可视化控件,除了常用控件外,还有一些关于进度.展示数据等的高级控件. 本章重点讲解PyQt5程序开发中用到的一些高级控件,主要包 ...

  9. Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能

    Android高级控件(一)--ListView绑定CheckBox实现全选,增加和删除等功能 这个控件还是挺复杂的,也是项目中应该算是比较常用的了,所以写了一个小Demo来讲讲,主要是自定义adap ...

最新文章

  1. Python+OpenCV实现AI人脸识别身份认证系统(3)—训练人脸识别模型
  2. 【ZooKeeper Notes 14】数据模型
  3. Android模拟器安装程序及上传音乐并播放
  4. oracle 10g 白皮书,Oracle 10g标准版与企业版
  5. 数据结构c语言版题库含答案,求数据结构c语言版的习题和答案?
  6. CocoaPods集成ShareSDK
  7. Maximum Mode
  8. Django的model form组件
  9. Python: str、datetime、time、seconds
  10. CodeForces 1437F Emotional Fishermen(计数dp)
  11. UI设计中签到页面如何设计
  12. IDEA插件系列(20):Grep Console插件——显示多颜色调试日志
  13. 虚拟机环境安装 | 查看修改主机名
  14. 量子计算机和量子纠缠的关系,“量子纠缠”是个什么鬼?竟然震惊了全球!
  15. H5实现无插件视频监控按需直播
  16. 神奇粪菌移植技术挽救垂危妙龄女
  17. SpringCloud重试机制配置
  18. php 在对象中递归 坑,PHP_PHP对象递归引用造成内存泄漏分析,通常来说,如果PHP对象存在递 - phpStudy...
  19. Linux安装telnet软件包,Linux下安装telnet
  20. 实现echart柱形图上方自定义图片显示

热门文章

  1. raw 格式镜像的 分区 、格式化和挂载操作
  2. devstack mysql_DevStack部署Openstack环境
  3. Unity平滑函数Lerp简单介绍
  4. [FPS网络游戏]关于通过万能码定位到战宠伤害搜法
  5. jdk8的最新win10安装教程
  6. mint ui tab html,Vue Mint UI tabbar切换
  7. android如何调用百度搜索,Android-百度地图的调用(检索功能)
  8. qiu奇偶数c语言,C语言逗号表达式 .
  9. 本地缓存王者,Caffeine 保姆级教程!给力...
  10. 笔记本电脑坏了,那些零件可以再利用