Android中的高级控件Spinner

举报
高彬滔 发表于 2023/03/26 11:48:36 2023/03/26
【摘要】 列表选择框的基本知识Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源。建立数据源-适配器-Spinner关联定义数据源;示例化一个适配器,绑定数据源;设置下拉列表时的显示样式;将适配器添加到Spinner上;为Spinner添加监听器,设置各种事件的响应操作setOnitemSelectedListener案例1.定义的数据源,一个Str...

列表选择框的基本知识

Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源。

建立数据源-适配器-Spinner关联

  1. 定义数据源;
  2. 示例化一个适配器,绑定数据源;
  3. 设置下拉列表时的显示样式;
  4. 将适配器添加到Spinner上;
  5. 为Spinner添加监听器,设置各种事件的响应操作setOnitemSelectedListener

案例

1.定义的数据源,一个String的数组

String[] arrayworks={"前端开发工程师","后台开发工程师","界面设计师","测试工程师"};
复制代码

2.示例化一个适配器,绑定数据源

ArrayAdapter<String> adapterwork = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,arrayworks);
复制代码

3.下拉选择

adapterwork.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
复制代码

4,绑定事件

spwork.setAdapter(adapterwork);
spwork.setPrompt("请选择最想做的职业");
复制代码

5.Java部分的代码

spwork.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
        strwork = adapterView.getItemAtPosition(i).toString();
        System.out.println("--strwork--"+strwork);
    }

    @Override
    public void onNothingSelected(AdapterView<?> adapterView) {

    }
});
复制代码

运行结果:

image.png

语言和职业可以下拉选择:

image.png

自定义Spinner条目布局

  1. res-layout中新建布局文件
  2. 将默认的android.R.layout.simple_spinner_item复制到新建的布局文件中
  3. 再把adatper实例化参数修改

自定义Spinner下拉条目布局

将下拉列表布局文件修改为其他文件或者自定义文件 sizeadapter.setDropDownViewResurce(android.R.layout...)

总结

相信看到了这里已经对spinner有了步的了解,赶紧打开你的Androidstudio试试。当然要想实现布局的滑动可以用到RecyclerView这个滑动组件


作者:高彬滔
链接:https://juejin.cn/post/7152492430284537870
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。