iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android 之 Spinner (列表选项框)的基本使用
  • 849
分享到

Android 之 Spinner (列表选项框)的基本使用

android 2023-09-13 05:09:43 849人浏览 薄情痞子
摘要

本节引言: 本来本节是想给大家介绍一个Gallery(画廊)的一个控件的,后来想想还是算了,因为 在Android 4.1后就已经被弃用了,尽管我们可以通过兼容不来使用Gallery,不过想想 还是算了,因为Gallery在每次切换图片

本节引言:

本来本节是想给大家介绍一个Gallery(画廊)的一个控件的,后来想想还是算了,因为 在Android 4.1后就已经被弃用了,尽管我们可以通过兼容不来使用Gallery,不过想想 还是算了,因为Gallery在每次切换图片的时候,都需要重新创建视图,这样无疑会造成 很大资源浪费!我们可以通过其他方法来实现Gallery效果,比如通过HorizontalScrollView 来实现水平滚动效果,或者编写一个水平方向的ListView~有兴趣自己谷歌!

本节学习的是一个叫做Spinner的Adapter控件! 应用场景:当我们的app需要用户输入数据时,除了让用户自己打字以外,还有一种比较贴心的设计: 列出一组选项让用户从中挑选,从而方便了我们的用户! 话不多说,开始学习Spinner的基本用法~


1.相关属性

  • android:dropDownHorizontalOffset:设置列表框的水平偏移距离
  • android:dropDownVerticalOffset:设置列表框的水平竖直距离
  • android:dropDownSelector:列表框被选中时的背景
  • android:dropDownWidth:设置下拉列表框的宽度
  • android:gravity:设置里面组件的对其方式
  • android:popupBackground:设置列表框的背景
  • android:prompt:设置对话框模式的列表框的提示信息(标题),只能够引用string.xml 中的资源id,而不能直接写字符串
  • android:spinnerMode:列表框的模式,有两个可选值: dialog:对话框风格的窗口 dropdown:下拉菜单风格的窗口(默认)
  • 可选属性:android:entries:使用数组资源设置下拉列表框的列表项目

2.使用示例:

对了,Spinner会默认选中第一个值,就是默认调用spinner.setSection(0), 你可以通过这个设置默认的选中值,另外,会触发一次OnItemSelectedListener 事件,暂时没找到解决方法,下面折衷的处理是:添加一个boolean值,然后设置 为false,在onItemSelected时进行判断,false说明是默认触发的,不做任何操作 将boolean值设置为true;true的话则正常触发事件! 示例中写了两个不同的Spinner,从数据源,列表框风格等进行对比~ 接下来我们来看下

效果图

代码实现

这里依然使用的我们前面的可复用BaseAdapter:

第一个Spinner的数据源编写:

res/values下编写一个:myarrays.xml的文件,内容如下:

            英勇青铜        不屈白银        荣耀黄金        华贵铂金        璀璨钻石        超凡大师        最强王者    

接着是第二个Spinner的布局:item_spin_hero.xml

        

再接着编写一个Entitiy实体类:Hero.java

public class Hero {    private int hIcon;    private String hName;    public Hero() {    }    public Hero(int hIcon, String hName) {        this.hIcon = hIcon;        this.hName = hName;    }    public int gethIcon() {        return hIcon;    }    public String gethName() {        return hName;    }    public void sethIcon(int hIcon) {        this.hIcon = hIcon;    }    public void sethName(String hName) {        this.hName = hName;    }}

最后是MainActivity的布局与Java代码部分:

布局文件:activity_main.xml

                    

MainActivity.java

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {    private Spinner spin_one;    private Spinner spin_two;    private Context mContext;    //判断是否为刚进去时触发onItemSelected的标志    private boolean one_selected = false;    private boolean two_selected = false;    private ArrayList mData = null;    private BaseAdapter myAdadpter = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mContext = MainActivity.this;        mData = new ArrayList();        bindViews();    }    private void bindViews() {        spin_one = (Spinner) findViewById(R.id.spin_one);        spin_two = (Spinner) findViewById(R.id.spin_two);        mData.add(new Hero(R.mipmap.iv_lol_icon1,"迅捷斥候:提莫(Teemo)"));        mData.add(new Hero(R.mipmap.iv_lol_icon2,"诺克萨斯之手:德莱厄斯(Darius)"));        mData.add(new Hero(R.mipmap.iv_lol_icon3,"无极剑圣:易(Yi)"));        mData.add(new Hero(R.mipmap.iv_lol_icon4,"德莱厄斯:德莱文(Draven)"));        mData.add(new Hero(R.mipmap.iv_lol_icon5,"德邦总管:赵信(XinZhao)"));        mData.add(new Hero(R.mipmap.iv_lol_icon6,"狂战士:奥拉夫(Olaf)"));        myAdadpter = new MyAdapter(mData,R.layout.item_spin_hero) {            @Override            public void bindView(ViewHolder holder, Hero obj) {                holder.setImageResource(R.id.img_icon,obj.gethIcon());                holder.setText(R.id.txt_name, obj.gethName());            }        };        spin_two.setAdapter(myAdadpter);        spin_one.setOnItemSelectedListener(this);        spin_two.setOnItemSelectedListener(this);    }    @Override    public void onItemSelected(AdapterView parent, View view, int position, long id) {        switch (parent.getId()){            case R.id.spin_one:                if(one_selected){                    Toast.makeText(mContext,"您的分段是~:" + parent.getItemAtPosition(position).toString(),Toast.LENGTH_SHORT).show();                }else one_selected = true;                break;            case R.id.spin_two:                if(two_selected){                    TextView txt_name = (TextView) view.findViewById(R.id.txt_name);                    Toast.makeText(mContext,"您选择的英雄是~:" + txt_name.getText().toString(),Toast.LENGTH_SHORT).show();                }else two_selected = true;                break;        }    }    @Override    public void onNothingSelected(AdapterView parent) {    }}

 

来源地址:https://blog.csdn.net/leyang0910/article/details/131135274

--结束END--

本文标题: Android 之 Spinner (列表选项框)的基本使用

本文链接: https://www.lsjlt.com/news/405482.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android 之 Spinner (列表选项框)的基本使用
    本节引言: 本来本节是想给大家介绍一个Gallery(画廊)的一个控件的,后来想想还是算了,因为 在Android 4.1后就已经被弃用了,尽管我们可以通过兼容不来使用Gallery,不过想想 还是算了,因为Gallery在每次切换图片...
    99+
    2023-09-13
    android
  • Spinner列表选择框如何在Android项目中使用
    Spinner列表选择框如何在Android项目中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一 列表项数据实际运用当中,很多下拉列表项的数据实际是可知的,可以放在xml...
    99+
    2023-05-31
    android roi spinner
  • Android——基本控件之下拉列表:Spinner(九)
    1.知识点 (1)掌握下拉列表Spinner的使用; (2)可以通过程序配置Spinner显示内容; (3)可以通过配置文件配置Spinner显示内容。 2.具体内容 在html中,下拉列表使用 这个标签完成,如果想要在此标签中添加下拉列表...
    99+
    2023-09-18
    android
  • Android中怎么使用Spinner实现一个列表选择框
    本篇文章为大家展示了Android中怎么使用Spinner实现一个列表选择框,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android  Spinner列表选择框的应用Spinner 是...
    99+
    2023-05-30
    android spinner
  • Android下拉列表框Spinner使用方法详解
    本文实例为大家分享了Android下拉列表框Spinner的基本使用,供大家参考,具体内容如下 文件目录如下: 在activity_main.xml中布局一个下拉列表框Spinne...
    99+
    2024-04-02
  • Spinner(下拉列表)的使用
      目录 一、介绍: Spinner相关属性: 二、例子 例子一:(含适配器) 完整代码: 例子二(不含适配器): 完整代码: 一、介绍:         安卓的Spinner是一个下拉菜单控件,通常用于选择一组选项中的一个。它可以为...
    99+
    2023-10-26
    android java android studio
  • Android 之 Toast 的基本使用
    本节引言: 好的,终于学习完Adapter类相关的一些控件,当然除了讲解的那几个,还有其他很多的 相关的控件,就不慢慢讲解了~有需要的自行查阅文档,查看相关的用法,本节带来的是: Android用于提示信息的一个控件——Toast(吐司...
    99+
    2023-09-16
    android java 开发语言
  • Android下拉列表选项框及指示箭头动画
    android原生的Spinner提供了下拉列表选项框,但在一些流行的APP中,原生的Spinner似乎不太受待见,而通常会有下图所示的下拉列表选项框:初始化状态:点击弹出下拉选择选项框:选中后:注意那个指示箭头,如果把这个控件写的比较精细...
    99+
    2023-05-30
    android 下拉列表 指示箭头
  • Android 之 GridView(网格视图)的基本使用
    本节引言: 本节给大家介绍的是第二个Adapter类的控件——GridView(网格视图),见名知义,ListView是列表, GridView就是显示网格!他和ListView一样是AbsListView的子类!很多东西和ListVi...
    99+
    2023-09-27
    android
  • 【Android -- 开源库】表格 SmartTable 的基本使用
    介绍 1. 功能 快速配置自动生成表格;自动计算表格宽高;表格列标题组合;表格固定左序列、顶部序列、第一行、列标题、统计行;自动统计,排序(自定义统计规则);表格图文、序列号、列标题格式化;表格各...
    99+
    2023-09-10
    android 表格
  • vb中怎么删除列表框里的所选项
    在VB中删除列表框中的选项,可以使用`RemoveItem`方法。该方法需要传入要删除的选项的索引。以下是示例代码:```vb' 假...
    99+
    2023-10-12
    vb
  • Android Button的基本使用
    Android Button是一个常用的用户界面控件,用于在应用程序中显示可点击的按钮。以下是Android Button的基本使用...
    99+
    2023-09-15
    Android
  • ListView列表组件如何在Android项目中使用
    ListView列表组件如何在Android项目中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。ListView是一种非常常见的一个组件,以垂直列表的形式显示列表项。而...
    99+
    2023-05-31
    android listview roi
  • Android使用RecyclerView实现列表数据选择操作
    这些时间做安卓盒子项目,因为安卓电视的显示器比较大,所以一个界面显示 很多数据 ,最多的时候,一个Actvity中用到了好几个RecyclerView。在RecyclerView中实现Item选中处理时,发现用CheckBox的OnChec...
    99+
    2023-05-31
    android recyclerview checkbox
  • Android开发之MediaPlayer基本使用方法详解
    本文实例讲述了Android MediaPlayer基本使用方法。分享给大家供大家参考,具体如下:使用MediaPlayer播放音频或者视频的最简单例子:Java代码部分:public class MediaPlayerStudy exte...
    99+
    2023-05-31
    android mediaplayer roi
  • Android 之Preference控件基本使用示例详解
    目录简述主要成分主要方法基本示例简述 Preference是Android的控件之一,相对来说我们用的比较少,但在系统应用的Settings设置应用模块中大部分由Preference...
    99+
    2022-12-22
    Android Preference控件 Android Preference
  • 如何利用Android组件实现一个列表选择框功能
    如何利用Android组件实现一个列表选择框功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。android提供的列表选择框(Spinner)相当于web端用户...
    99+
    2023-05-31
    android roi
  • Python之Django的基本使用
    一:Django虚拟环境搭建 先在本地创建一个用来存放项目的路径进入创建好的路径,创建虚拟环境 python -m venv djenv # 1.创建虚拟环境,djenv名称随意 进入虚拟环境 #so...
    99+
    2023-09-06
    python django 开发语言
  • JS检索下拉列表框中被选项目的索引号(selectedIndex)
    可以使用`selectedIndex`属性来获取下拉列表框中被选项目的索引号。```javascriptvar selectElement = document.getElementById("mySelect");var select...
    99+
    2023-08-09
    js
  • Android中Protobuf的基本使用介绍
    目录前言一、Proto文件示例二、在Android中的使用1、 plugin配置2.、基本调用总结前言 Protobuf,类似于json和xml,是一种序列化结构数据机制,可以用于数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作