精华内容
下载资源
问答
  • android studio,demo,Spinner下拉菜单多选的实现,android studio3.0.1的环境下使用。
  • 主要介绍了android studio下拉菜单Spinner使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Android Studio 下拉框Spinner实例

    千次阅读 2020-04-03 07:56:50
    功能 下拉框相当常见了,例如选择省、市、县;例如选择部门;选择员工。用处一般是多选一。 显示 下拉框一般有

    点此查看全部文字教程、视频教程、源代码

    1. 功能

    下拉框相当常见了,例如选择省、市、县;例如选择部门;选择员工。用处一般是多选一。

    2. 显示

    下拉框一般有两种形式,一种是下拉显示可选项,一种是弹窗显示可选项。通过调整参数spinnerMode,dropdown/dialog分别代表两种下拉框。

    注意下拉框的数据需要从资源中关联过来,资源文件res/values/arrays.xml代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string-array name="gradeArray">
            <item>初一</item>
            <item>初二</item>
            <item>初三</item>
        </string-array>
    </resources>
    

    Android布局文件如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="4dp">
    
        <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:entries="@array/gradeArray"
            android:spinnerMode="dropdown"></Spinner>
    
        <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:entries="@array/gradeArray"
            android:spinnerMode="dialog"></Spinner>
    
        <Button
            android:id="@+id/buttonOk"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="确认" />
    </LinearLayout>
    

    效果如下:
    在这里插入图片描述
    在这里插入图片描述

    3. 动态设置选项

    可以利用数组适配器ArrayAdapter动态设置下来框的选项,布局文件修改为:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="4dp">
        <Spinner
            android:id="@+id/spinnerGrade"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:spinnerMode="dropdown"></Spinner>
        <Button
            android:id="@+id/buttonOk"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="确认" />
    </LinearLayout>
    

    代码部分修改为:

    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Spinner spinnerGrade=findViewById(R.id.spinnerGrade);
            //内容数组
            String[] gradeArray={"初一","初二","初三","初四"};
            //数组适配器
            ArrayAdapter<String> gradeAdapter=new ArrayAdapter<>(this,R.layout.support_simple_spinner_dropdown_item,gradeArray);
            spinnerGrade.setAdapter(gradeAdapter);
            //设置默认选中项
            spinnerGrade.setSelection(0);
        }
    }
    

    4. 获取选中项

    点击确认后获取选中项,并显示选中项内容。

    public class MainActivity extends AppCompatActivity {
        //内容数组
        String[] gradeArray={"初一","初二","初三","初四"};
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Spinner spinnerGrade=findViewById(R.id.spinnerGrade);
            //数组适配器
            ArrayAdapter<String> gradeAdapter=new ArrayAdapter<>(this,R.layout.support_simple_spinner_dropdown_item,gradeArray);
            spinnerGrade.setAdapter(gradeAdapter);
            //设置默认选中项
            spinnerGrade.setSelection(0);
            //获取按钮
            Button buttonOk = findViewById(R.id.buttonOk);
            //设置按钮点击监听器
            buttonOk.setOnClickListener(new MyOnClickListener());
        }
        //定义按钮点击监听器
        class MyOnClickListener implements View.OnClickListener {
            //按钮点击
            @Override
            public void onClick(View view) {
                if (view.getId() == R.id.buttonOk) {//被点击的是确认按钮
                    //获取选中项
                    Spinner spinnerGrade=findViewById(R.id.spinnerGrade);
                    //显示提示框
                    Toast.makeText(MainActivity.this, gradeArray[spinnerGrade.getSelectedItemPosition()] , Toast.LENGTH_SHORT).show();
                }
            }
        }
    }
    

    5. 监听下拉框选中项

    当下拉框选中项发生改变时,弹窗显示新项目,代码如下:

    public class MainActivity extends AppCompatActivity {
        //内容数组
        String[] gradeArray={"初一","初二","初三","初四"};
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Spinner spinnerGrade=findViewById(R.id.spinnerGrade);
            //数组适配器
            ArrayAdapter<String> gradeAdapter=new ArrayAdapter<>(this,R.layout.support_simple_spinner_dropdown_item,gradeArray);
            spinnerGrade.setAdapter(gradeAdapter);
            //设置默认选中项
            spinnerGrade.setSelection(0);
            //获取按钮
            Button buttonOk = findViewById(R.id.buttonOk);
            //设置按钮点击监听器
            buttonOk.setOnClickListener(new MyOnClickListener());
    
            spinnerGrade.setOnItemSelectedListener(new MyOnItemSelectedListener());
        }
    
        //定义按钮点击监听器
        class MyOnClickListener implements View.OnClickListener {
            //按钮点击
            @Override
            public void onClick(View view) {
                if (view.getId() == R.id.buttonOk) {//被点击的是确认按钮
                    //获取选中项
                    Spinner spinnerGrade=findViewById(R.id.spinnerGrade);
                    //显示提示框
                    Toast.makeText(MainActivity.this, gradeArray[spinnerGrade.getSelectedItemPosition()] , Toast.LENGTH_SHORT).show();
                }
            }
        }
    
        class MyOnItemSelectedListener implements AdapterView.OnItemSelectedListener {
            //选择
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(MainActivity.this, gradeArray[i], Toast.LENGTH_SHORT).show();
            }
            //未选择
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
            }
        }
    }
    
    展开全文
  • 主要介绍了Android编程实现多列显示的下拉列表框Spinner功能,结合具体实例形式分析了Android多列表显示功能的相关布局操作实现技巧,需要的朋友可以参考下
  • android下拉菜单示例

    热门讨论 2011-03-29 17:12:42
    关于下拉菜单组件的介绍及其调用,支持sdk1.5及以上
  • Android Studio Spinner选择下拉框实现

    千次阅读 2020-01-21 19:05:32
    android . R . layout . simple_spinner_dropdown_item , getDataSource ( ) ) ; spinner . setAdapter ( adapter ) ; } public List < String > getDataSource ( ) { List < String > list = ...

    在.java文件中

    private Spinner spinner ;
    private ArrayAdapter adapter ;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.jinjilxrsz);
    
        this.spinner =(Spinner) this.findViewById(R.id.spinner);
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_dropdown_item, getDataSource());
        spinner.setAdapter(adapter);
    
    }
    
    public List<String> getDataSource(){
        List<String> list = new ArrayList<String>() ;
        list.add("另一半");
        list.add("爸妈");
        list.add("子女");
        list.add("好友");
        list.add("亲戚");
        list.add("同学");
        list.add("同事");
        return list  ;
    }

    在.xml文件中

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="389dp"
        android:layout_height="57dp"
        android:layout_alignBottom="@+id/imageView8"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="234dp"
        android:layout_marginEnd="0dp"
        android:layout_marginBottom="12dp"
        android:textColor="#FFFFFF"
        android:textSize="25dp" />
    展开全文
  • 在学Spinner的时候,下拉列表不显示,如图,只显示第一个选项 解决方法:最后发现是LInearLayout布局忘了加orientation了,orientation设置为vertical就出来了。 一个简单的小问题,提醒自己记得写orientation,老是...

    在学Spinner的时候,下拉列表不显示,如图,只显示第一个选项在这里插入图片描述
    解决方法:最后发现是LInearLayout布局忘了加orientation了,orientation设置为vertical就出来了。

    一个简单的小问题,提醒自己记得写orientation,老是忘记。

    展开全文
  • Android 生成带图像的下拉选择框列表,最开始分别创建了两个数组,一个是所有资源图片(足球、篮球、排球)id的数组:  int[] drawableIds={R.drawable.football,R.drawable.basketball,R.drawable.volleyball};  ...
  • 怎么在android studio中使用Spinner实现一个下拉菜单发布时间:2021-03-23 14:56:15来源:亿速云阅读:92作者:Leah这期内容当中小编将会给大家带来有关怎么在...一、认识SpinnerSpinner其实就是一个列表选择框。...

    怎么在android studio中使用Spinner实现一个下拉菜单

    发布时间:2021-03-23 14:56:15

    来源:亿速云

    阅读:92

    作者:Leah

    这期内容当中小编将会给大家带来有关怎么在android studio中使用Spinner实现一个下拉菜单,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

    一、认识Spinner

    Spinner其实就是一个列表选择框。不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。

    Spinner 与 Gallery 都继承了AbsSpinner,AbsSpinner 继承了AdapterView,因此它也表现出AdapterView的特征:只要为AdapterView提供Adapter即可。

    1.相关属性android:dropDownHorizontalOffset:设置列表框的水平偏移距离

    android:dropDownVerticalOffset:设置列表框的水平竖直距离

    android:dropDownSelector:列表框被选中时的背景

    android:dropDownWidth:设置下拉列表框的宽度

    android:gravity:设置里面组件的对其方式

    android:popupBackground:设置列表框的背景

    android:prompt:设置对话框模式的列表框的提示信息(标题),只能够引用string.xml 中的资源id,而不能直接写字符串

    android:spinnerMode:列表框的模式,有两个可选值: dialog:对话框风格的窗口 dropdown:下拉菜单风格的窗口(默认)

    可选属性:android:entries:使用数组资源设置下拉列表框的列表项目

    如果开发者使用Spinner时己经可以确定列表选择框里的列表项,则完全不需要编写代码,只要为Spinner指定android:entries属性即可让Spinner正常工作;如果程序需要在运行时动态 地决定Spinner的列表项,或者程序需要对Spinner的列表项进行定制,则可使用Adapter为 Spinner提供列表项。

    二、Spinner示例

    接下来通过一个简单的示例程序来学习Spinner的使用方法。

    继续使用WidgetSample工程的listviewsample模块,在app/main/res/layout/目录下创建spinner_layout.xml文件,在其中填充如下代码片段:

    6e0b8f15fb5f568be1f625ff504af271.png

    在res/values/目录下新建arrays.xml文件,定义professionals数组资源,如下:

    9d31b014a536875f05c442217a8696cb.png

    接下来为Spinner提供Adapter。新建SpinnerActivity.java文件,加载上面新建的布局文件,具体代码如下:

    66f8f1db480e5450b70e7931f3d63373.png

    773429de4c6466a99282a575d5ef9ee5.png

    上面的程序比较简单,主要为Spinner 设置了选中设置监听器。

    修改程序启动的Activity,运行程序,可以看到下图所示界面效果。

    a082289fe90946f1f354308e1e502f68.png

    点击第一个Spinner ,弹出选择对话框,

    如下图所示。选择其中一项回到主界面,发现Spinner 的值会改变为所选择的内容。

    70a1f7ce9701166e4feaa1fbc32312a0.png

    同理点击第二个Spinner ,打开下拉列表选项框,如下图所示。

    cfb131f10d2c8d21b30f28d9c46dbe6c.png

    Gallery与Spinner组件有共同的父类:AbsSpinner,表明Gallery和Spinner都是一个列表选择框。它们之间的区别在于,Spinner显示的是一个垂直的列表选择框,而Gallery显示的是一个水平的列表选择框。 Gallery与Spinner还有一个区别:Spinner的作用是供用户选择,而Gallery则允许用户通过拖动来查看上一个、下一个列表项。

    Gallery本身的用法非常简单——基本上与Spinner的用法相似,只要为它提供一个内容 Adapter即可,该Adapter的getView()方法所返回的View将作为Gallery列表的列表项。如果程序需要监控到Gallery选择项的改变,通过为Gallery添加OnltemSelectedListener监听器即可实现。

    Android已经不再推荐使用Gallery组件,而是推荐使用其他水平滚动组件,如HorizontalScrollView和ViewPager来代替Gallery组件,所以此处不做过多讲解

    上述就是小编为大家分享的怎么在android studio中使用Spinner实现一个下拉菜单了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

    展开全文
  • 下拉菜单Spinner: android:dropDownHorizontalOffset:设置列表框的水平偏移距离 android:dropDownVerticalOffset:设置列表框的水平竖直距离 android:dropDownSelector:列表框被选中时的背景 android:...
  • Spinner是一个列表选择框,会在用户选择后,展示一个列表供用户进行选择。下面通过本文给大家实例详解android中使用Spinner实现下拉列表功能,一起看看吧
  • 首先在values下的string.xml文件中添加下拉列表的内容: &lt;string-array name="province1"&gt; &lt;item&gt;河北&lt;/item&gt; &lt;item&gt;北京&lt;/item&...
  • Android下拉列表框

    热门讨论 2014-08-03 23:11:45
    Android静态绑定下拉框数据、动态绑定下拉框数据、选择时触发的事件以及获得所选的值。博客地址http://blog.csdn.net/pfe_nova/article/details/38362193
  • 1.自动文本提示 1.1.布局 &...LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xml...
  • Android下拉列表框使用

    千次阅读 2014-05-11 17:19:45
    这次的话就使用这个下拉列表框做一个城市和区域联动的小例子,数据的话简单起见就弄成静态的。就不先扯淡了。 1.先来看下下拉列表框的标签 1 Spinner 2  android:...
  • 不过Android列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。Spinner 与 Gallery 都继承了AbsSpinner,AbsSpinner 继承了AdapterView,因此它也表现出AdapterView的特征:只要为AdapterView...
  • 具有多选功能的下拉列表框

    热门讨论 2012-07-26 11:49:00
    实现了一个可以多选的下拉列表框下拉列表是一个checkboxlist,通过用户控件实现
  • 1、下拉列表框(Spinner) 项目布局 &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:...
  • 效果如图,顶部的TabView做得略复杂,可以改进一下用android.support.design.widget.TabLayout 实现 源码
  • 目录 activaty_main.xml源码 strings.xml源码 MainActivity.java源码 先放实现的结果图 ... xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.andr..
  • UI_01和ptr_lib_01 作为lib引入,DemoHomeActivity_01为项目demo源码,项目源码可在github上下载,我只是做了文件整理,方便导入到eclipse中直接运行,你也可以访问此地址查看项目图片效果,原文还包含了androidstudio版本...
  • 不过Android列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。 Spinner 与 Gallery 都继承了AbsSpinner,AbsSpinner 继承了AdapterView,因此它也表现出AdapterView的特征:只要为AdapterView...
  • Android 下拉列表 可手动输入,精简过的,很简单,直接可以使用的.
  • Android开发仿美团下拉列表菜单

    热门讨论 2015-03-12 15:18:52
    Android开发仿美团下拉列表菜单 工具类,只要传入特定的参数,既可以直接实现下来菜单
  • 很多网上的教程介绍的都是怎么实现下拉列表,我想着一步每个人都会,但是怎么实现它的监听机制呢?本文为大家详细讲解。 1.首先拉出来一个控件 ...
  • 菜单、下拉列表以及窗口跳转

    千次阅读 2018-09-18 22:04:41
    **1.**确定布局后,使用EditText做出输入框,密码使用一个inputType=&amp;amp;amp;quot;textPassword,登录按钮,一个取消按钮,背景图片插入的QQ背景图片,activity_main代码如下: &amp;amp;amp;amp;lt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,290
精华内容 1,716
关键字:

androidstudio下拉选择框