android 下拉菜单组件,Android UI组件Spinner下拉列表详解

Spinner下拉列表

该布局对应的关系图:

常用属性:android:entries(指定spinner要显示的字符串资源。必须是在strings资源文件中定义的字符串资源)android:spinnerMode(spinner的模式,枚举值有两个值dialog弹窗显示和dropdown下拉显示)android:dropDownWidth(下拉框的宽度,单位通常是dp)android:prompt(当spinnerMode的值是dialog时,弹出的对话框式的下列列表的提示。如果

spinnerMode的值是dropdown时没有效果。注意:此处的值不能直接使用直接字符串,

必须使用引用(字符串资源))

1.通过entries设置数据项,在values文件夹下的strings中添加数据的值

在strings.xml中添加一组array数据项,然后通过在entries中设置就可以设置对应的值

android:layout_width="match_parent"

android:entries="@array/data"//资源文件设置数据

android:layout_height="wrap_content">

2.设置android:spinnerMode:

android:id="@+id/spinner"

android:layout_width="match_parent"

android:entries="@array/data"

android:spinnerMode="dialog"

android:layout_height="wrap_content">

值为dialog的显示为弹框显示

值如果为dropdown的显示如下:

android:dropDownWidth设置下拉宽度

android:id="@+id/spinner"

android:layout_width="match_parent"

android:entries="@array/data"

android:spinnerMode="dropdown"

android:dropDownWidth="70dp"

android:layout_height="wrap_content">

效果如下图:

数据源的获取方式:通过ArrayAdapter适配器设置数据数据>

什么是适配器:将控件在加载数据过程中的同样的部分 抽取为代码,每次加载的时候都调用这部分代码,生成

要返回的内容,类似于模具

关于ArrayAdapter简单介绍下:

ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,data);

关于ArrayAdapter构造方法的说明:

1、ArrayAdapter(context, resource, objects)参数一:上下文对象

参数二:布局文件的id,注意该布局文件有且只能有一个TextView标签

参数三:原始数据,List集合或数组都可以。

2、ArrayAdapter(context, resource, textViewResourceId, objects)参数一:上下文对象

参数二:布局文件的id,注意该布局文件中至少有一个TextView标签

参数三:参数二布局文件中要显示数据的TextView的id

参数四:原始数据,List集合或数组都可以。

public class MainActivity extends AppCompatActivity {

private String[] data;

private List data1;

private Spinner spinner;

private ArrayAdapter adapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.spinner);

spinner = (Spinner)findViewById(R.id.spinner);

data = getResources().getStringArray(R.array.data);

data1 = new ArrayList<>();

for(int i = 1; i < 10; i++){

data1.add("这是第" + i +"个");

}

//data可以修改为data1,数据可以是数组也可以是集合

adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,data);

spinner.setAdapter(adapter);

}

}

监听事件

对于Spinner使用的监听事件为:setOnItemSelectedListener(OnItemSelectedListener listener)

public class SpinnerActivity extends Activity implements OnItemSelectedListener {

/**

* 当item被选中时,会调用此方法

*/

public void onItemSelected(AdapterView> parent, View view,

int pos, long id) {

// An item was selected. You can retrieve the selected item using

// parent.getItemAtPosition(pos)

}

/**

* 当数据项的值设置为空时,就会调用此方法,通过调用adapter.clear()方法清空数据,并且刷新界面

* 时,会调用次方法

*/

public void onNothingSelected(AdapterView> parent) {

// Another interface callback

}

}

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

Android -- UI 开发】Spinner 的基本使用 本节开始学习 Spinner 的基本用法。 阅读详情

相关推荐

Android Spinner组件应用实战指南

SpinnerAndroid开发中常用的界面组件之一,用于在界面上提供一个下拉列表供用户选择。与传统的ListView不同,Spinner只显示选中的那一条信息,并且允许用户进行选择时下拉查看全部选项。Spinner组件Android中通常定义在布局XML文件中。为了实现一个简单的Spinner组件,您需要在布局文件中添加一个Spinner控件,并指定一个适配器来填充数据。下面是一个示例代码片段,展示了如何定义一个Spinner:<Spinner在上面的XML代码中,

weixin_30021053的博客 1472

Android下拉列表组件

ListView—列表框 Spinner——下拉列表

丹妮专栏 1976

Android Spinner组件的自定义实现与应用

自定义Adapter类为开发者提供了更大的灵活性,以满足特定场景下对Spinner组件显示内容的控制需求。在这一章节中,我们将深入探讨自定义Adapter类的创建过程、实现步骤以及视图定制的高级应用。在某些复杂的UI交互中,标准的Adapter类可能无法满足开发需求,这时就需要我们创建一个自定义的Adapter类。自定义Adapter可以应用于多种场景,例如:当Spinner需要显示复杂的列表项,每个项包含图标和文本时;当需要根据数据动态改变列表项的样式时,比如背景颜色或文本样式;

weixin_42466723的博客 1134

Android——基本控件之下拉列表Spinner(九)

Spinner组件功能介绍

毛栗子201105的博客 5767

android spinner php,Android_Android UI组件Spinner下拉列表详解Spinner下拉列表 该布局对应的 - phpStudy...

Android UI组件Spinner下拉列表详解Spinner下拉列表该布局对应的关系图:常用属性:android:entries(指定spinner要显示的字符串资源。必须是在strings资源文件中定义的字符串资源)android:spinnerMode(spinner的模式,枚举值有两个值dialog弹窗显示和dropdown下拉显示)android:dropDownWidth(下拉框的宽...

weixin_42132354的博客 292

android spinner控件详解,Spinner样式大全_spinner用法详解

Spinner其实是一个列表选择框,不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。Spinner与Gallery都继承了AbsSpinner,AbsSpinner继承了AdapterView,因此他也表现出AdapterView的特征:只要为AdapterView提供Adapter即可。android:entries属性并不是Spinner定义的,而不是Ab...

weixin_34208146的博客 8660

安卓控件 - 下拉列表

安卓控件 - 下拉列表

weixin_69493757的博客 2272

Spinner(下拉列表)的使用

下拉列表的使用

A125679880的博客 5724

Android UI控件之Spinner(下拉列表)

下拉列表---Spinner用于显示列表项,类似于一组单选按钮RadioButton。Spinner的使用,        可以极大的提升用户的体验性。当需要用户选择的时候,可以提供一个下拉列表项给用户选择。                具体来说下拉列表是如何实现的呢?                通过查阅API知道Spinner继承AdapterView,因此它的数据源需要通过Adap

LCore的专栏 1万+

android下拉菜单spinner的使用方法

Spinner控件也是一种列表类型的控件,它的继承关系如下:  java.lang.Object     ↳ android.view.View       ↳ android.view.ViewGroup         ↳ android.widget.AdapterView           ↳ android.widget.AbsSpinner            ↳ an

Android移动开发者的专栏 9172

android spinner风格,android studio 的下拉菜单Spinner使用详解

一、认识SpinnerSpinner其实就是一个列表选择框。不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。Spinner 与 Gallery 都继承了AbsSpinner,AbsSpinner 继承了AdapterView,因此它也表现出AdapterView的特征:只要为AdapterView提供Adapter即可。1.相关属性android:dropDo...

weixin_39794385的博客 633

Android实战:基于Spinner的星座选择下拉菜单开发详解

Android应用开发中,界面的构建是用户交互体验的第一道门槛。一个清晰、结构合理且具备良好可维护性的UI设计,不仅提升了用户体验,也为后续逻辑处理打下坚实基础。Spinner作为常见的选择控件,其UI实现依赖于XML布局文件与资源系统的协同工作。本章将深入剖析如何通过标准的Android XML语法声明Spinner控件,并结合资源管理机制完成从静态定义到动态引用的完整流程。重点在于理解控件属性配置原则、布局容器适配策略以及字符串资源的组织方式,从而实现高内聚、低耦合的界面层设计。

weixin_31659095的博客 1104

安卓级联下拉列表实战教程

本文还有配套的精品资源,点击获取 简介:级联下拉列表是安卓开发中常见的交互效果,用于提供多级选择功能。本教程将通过一个实战DEMO,详细介绍如何使用Spinner控件、事件监听、数据处理和UI设计,实现级联下拉列表功能。开发者可以学习到Spinner的使用、事件监听、数据传递、优化等方面的知识,为实际项目开发打下基础。 1. 安卓级联下拉列表概述 级联下拉列...

weixin_29097457的博客 990

android——Spinner下拉列表案例详解,绝对干货

下拉列表内容可以在后台获取存放到数组中,可以在前台strings.xml中定义。android:text=“显示选项” />android:text=“性别” />android:text=“课程” />android:prompt选择框标题。android:entries条目。

芯_v_648374雨馨博客 819

android 下拉菜单触发_Android-Spinner下拉列表

packageliudeli.ui.all;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.AdapterView;importandroid.widget.ArrayAdapter;importandroid.widget.Spinner;importa...

weixin_39940913的博客 491
上一篇: 十天学会单片机和c语言编程,十天学会单片机和C语言编程笔记1
下一篇: android 创建服务,RAD STUDIO DELPHI创建安卓服务CREATING ANDROID SERVICES
吴遇安
博客等级 码龄9年 42粉丝 69原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值