Android下拉列表框Spinner使用方法详解

本文实例为大家分享了Android下拉列表框Spinner的基本使用,供大家参考,具体内容如下

文件目录如下:

在activity_main.xml中布局一个下拉列表框Spinner

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.administrator.myapplication.MainActivity">

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

接着在layout文件夹下创建spinner_item.xml文件,放置的是下拉列表框中的控件,这里只显示文本,所以代码如下:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tvCateItem"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="34px" />

接着就是在MainActivity.java中进行调用,设置数据

package com.example.administrator.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 获取控件
        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        // 要添加到下拉列表框中的数据
        String[] array = new String[]{"唐僧", "孙悟空", "猪八戒", "沙僧", "小白龙"};
        // 创建适配器
        final ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(MainActivity.this, R.layout.spinner_item, array);
        dataAdapter.setDropDownViewResource(R.layout.spinner_item);
        // 为下拉列表框设置适配器
        spinner.setAdapter(dataAdapter);

        // spinner的选项被选中的监听事件
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String value = dataAdapter.getItem(position).toString();// 获取被选中的下拉列表框项的值
                Toast.makeText(MainActivity.this, "你选中了:" + value, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // 没有任何被选中的处理事件
            }
        });
    }
}

初始化数据完成的spinner如下:

选中某一项的spinner如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android下拉列表选项框及指示箭头动画

    android原生的Spinner提供了下拉列表选项框,但在一些流行的APP中,原生的Spinner似乎不太受待见,而通常会有下图所示的下拉列表选项框: 初始化状态: 点击弹出下拉选择选项框: 选中后: 注意那个指示箭头,如果把这个控件写的比较精细的话,在下拉-选择-复位过程中箭头是应该有动画旋转效果的. 这种样式的选择框实现方案很多,并且常见.常用,我自己写了一个,我写的这个例子的代码运行结果就是上图所示. 首先是MainActivity.Java: package zhangphil.app

  • Android仿美团淘宝实现多级下拉列表菜单功能

    我们在常用的电商或者旅游APP中,例如美团,手机淘宝等等,都能够看的到有那种下拉式的二级列表菜单.具体如图所示: 上面两张图就是美团的一个二级列表菜单的一个展示.我相信很多人都想开发一个跟它一样的功能放到自己的APP中.好,接下来我们就开始动手,解决它. 1.结构分析 首先,我们给出这个下拉菜单需要的组建.我们用线框图来分析. 1)如上图所示,最外围的是一个Activity,顶部包含了一个View的容器,这个容器主要是装载ToggleButton来实现诸如美团里面的"美食,全城,理我最近,刷选&

  • Android编程实现多列显示的下拉列表框Spinner功能示例

    本文实例讲述了Android编程实现多列显示的下拉列表框Spinner功能.分享给大家供大家参考,具体如下: 先上张效果图: 严格来说,这并不是一个下拉列表,只不过实现的效果很像是下拉列表 实现原理: 该下拉列表其实是一个AlertDialog.Builder,给它设置了一个以LinearLayout布局的View.该View内使用了一个GridView组件, 代码: package yyy.testandroid9; private Intent intent; private int ind

  • Android中使用Spinner实现下拉列表功能

    Spinner Spinner是一个列表选择框,会在用户选择后,展示一个列表供用户进行选择.Spinner是ViewGroup的间接子类,它和其他的Android控件一样,数据需要使用Adapter进行封装. 1,Demo展示图片 2,布局代码 //(layout)activity_main <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http

  • Android控件Spinner实现下拉列表及监听功能

    在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可.这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinner. 方法一: 以资源方式,静态展示 Spinner 选项: <Spinner android:layout_width="match_parent" android:layout_height="wrap_conte

  • 详解Android的Socket通信、List加载更多、Spinner下拉列表

    Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信.通过建立socket连接,可为通

  • Android使用Spinner控件实现下拉列表的案例

    (1)两种方法提冲Spinner中的数据源:通过list集合,或者是通过xml文件进行配置 (2)布局代码如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android

  • Android自定义单选多选下拉列表的实例代码

    发疯的产品要做一个可以单选和多选的下拉列表,陪你玩玩吧. 直接上效果: 实现方案: 我的思路是自定义一个类继承PopupWindow,里面的选项采用Listview,再结合一些动画来实现. 核心代码: public class MultiSelectPopupWindows extends PopupWindow { private Context context; private View parent; private List<Search> data; private int ySta

  • Android中PopuWindow实现下拉列表实例

    前言 之前讲过一篇关于PopuWindow的基本使用的文章,想了解的同学可以参考:PopupWindow的基本使用 其实,下拉列表Spanner(不知道控件拼写是否正确)就能实现,但是基于ui美化方面的考虑,用popuwindow实现是一个不错的选择,今天就来讲讲PopuWindow实现下拉列表的具体实现吧. 正文 文章可能会有点长,大家将就着看吧.先上波效果图才是厚道的: 下面开始正式讲解. 基础依赖,由于下拉列表是用RecycleView实现,然后控件初始化用到ButterKnife,所以要

  • Android UI控件之Spinner下拉列表效果

    下拉列表---Spinner用于显示列表项,类似于一组单选按钮RadioButton.Spinner的使用,可以极大的提升用户的体验性.当需要用户选择的时候,可以提供一个下拉列表项给用户选择. 具体来说下拉列表是如何实现的呢? 通过查阅API知道Spinner继承AdapterView,因此它的数据源需要通过Adapter实现. 一般来说Spinner的数据源可以是数组,也可以是一个XML文件. 一.以数组作为数据源 这种实现方式比较简单,先上效果图: xml文件代码; <LinearLayou

随机推荐