让Spinner的显示条目与下拉框中采用不同的布局
开发中时常要用到Spinner控件,例如我想要做一个选择题:
春哥是男是女呢?
布局是这样:
点开spinner的页面:
很好 就这么简单 代码也很容易:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item, datas);
spinner.setAdapter(adapter);
可是在选项中有一个在还是很难看的,而且让用户也觉得莫名其妙嘛。
好的 去掉他,方法有2种:
第一种,自己去写adapter,重载getView和getDropdownView 给他们不同的布局。
第一种方法倒是可以用,不过为了这点小事去重写一个adapter太浪费了,其实对于使用ArrayAdapter可以有更简单的方案,创建adapter的时候传入一个spinner没有显示的布局,这里我就用android.R.layout.simple_spinner_item,然后在arrayadapter中我们可以找到一个函数叫setDropDownViewResource这个就是显示下拉菜单的布局了,这里依然用刚刚的布局android.R.layout.simple_spinner_dropdown_item,这样我们就可以让这两处的布局分开来了。代码如下:
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, datas);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
OK
现在看起来漂亮多了!
分享到:
相关推荐
例如,我们可以通过设置spinner_item.xml和spinner_dropdown_item.xml来自定义每个条目的显示样式。这使得我们可以自由调整文字大小、颜色、背景等。 **4. 数据存储与恢复** 为了保证用户的选择状态在旋转屏幕或者...
要实现仿WEB风格的下拉框,我们可能需要自定义Adapter,以便自定义每个条目的布局和显示效果。这可以通过继承`BaseAdapter`类并重写其中的`getView()`方法来实现。在这个方法中,我们可以根据需要加载XML布局,并...
这个“安卓QQ相关相关-Android实现仿QQ登录可编辑下拉框自定义spinner.rar”压缩包文件就是一个实例,展示了如何在Android应用中创建一个类似于QQ登录界面的可编辑下拉框,即自定义Spinner。以下将详细讲解实现此类...
2. **搜索功能**:select2 提供了内置的搜索功能,用户可以在下拉选项中输入关键词进行筛选,提高了用户在大量选项中的查找效率,尤其适用于包含大量条目的下拉框。 3. **远程数据集**:对于需要从服务器动态加载...
界面优化包括但不限于:保证自定义下拉框与应用整体风格一致,考虑不同屏幕尺寸和分辨率的适配,设置合适的字体大小和颜色,以及添加适当的动画效果,如展开和收起下拉菜单时的过渡动画。 6. **交互设计** 用户...
3. **设置显示位置**: `PopupWindow`可以显示在屏幕的任意位置,通常我们会让它与触发按钮对齐。使用`showAsDropDown()`或`showAtLocation()`方法来指定显示位置,例如: ```java Button button = findViewById(R....
在Android开发中,实现下拉框(Spinner)的数据绑定通常涉及到与后端数据库的交互,这里以"android+myeclipse+mysql"的环境为例,我们来深入探讨这个过程。 首先,MyEclipse是一个集成开发环境,常用于Java Web开发...
Spinner本身是Android SDK提供的一种选择器,它可以显示一个固定的选项,并在点击后弹出一个下拉菜单,用户可以在菜单中选择一项。在布局文件中,我们可以使用`<Spinner>`标签来创建一个Spinner: ```xml <Spinner ...
Adapter的`getView()`方法用于在Spinner中显示每个条目。 3. **在布局文件中添加Spinner**:在XML布局文件中,使用`<Spinner>`标签声明Spinner。可以通过`android:prompt`属性设置默认显示的文字,`android:...
1. **布局设计**:在XML布局文件中,添加`EditText`和`Spinner`或`AutoCompleteTextView`,设置相应的属性,如输入框的hint、下拉框的item布局等。 2. **数据准备**:收集登录历史账号,存储在数组或者数据库中。...
要创建一个Spinner,你需要在布局XML文件中添加`<Spinner>`标签,并通过适配器(Adapter)填充数据。适配器可以是ArrayAdapter、SimpleCursorAdapter或自定义的Adapter,根据数据源的不同进行选择。 为了实现复选...
在Android应用开发中,Spinner控件通常用于实现下拉选择的功能,它类似于iOS中的Picker View。然而,原生的Spinner控件默认只支持单选模式,即用户只能选择一个选项。当开发需求涉及到多选功能时,我们就需要对...
在Android应用开发中,Spinner控件扮演着与Web开发中的下拉列表相似的角色,提供了一种用户可以从预定义选项中进行选择的交互方式。本文将详细介绍如何在Android中使用Spinner来实现下拉列表以及如何监听用户的选择...
- **自定义布局**:除了使用`android.R.layout.simple_spinner_item`,还可以创建自己的布局文件,以自定义每个条目的显示方式。 - **Dropdown vs. Dialog**:默认情况下,Spinner会显示为一个下拉框。但通过设置` ...
- Spinner是Android SDK中的`android.widget.Spinner`类,它提供了一个可交互的下拉菜单,用户点击后会展开一个包含多个条目的列表。 - 下拉列表框常用于设置或选择应用程序的配置项,如日期、时间、单位等。 2. ...
总之,"可扩展的list,下拉框框"是Android开发中的一个重要组件,它结合了ListView的多选项显示和Spinner的简洁交互,使得用户界面更加灵活和易用。在实际开发中,合理地运用这些技术,可以提升应用的用户体验和功能...
在Android开发中,有时我们需要实现一个功能,让用户能够选择中国的省份、城市和区县,这就是所谓的“三级联动下拉列表”。这个功能常见于地址输入、定位服务等场景。本项目提供了一个完整的Android工程源码,专门...
在布局文件中,定义一个ListView并为其设置Adapter,Adapter可以是BaseAdapter、ArrayAdapter或者其他自定义Adapter,用来填充数据。例如: ```xml android:id="@+id/list_view" android:layout_width="match_...
在这里处理ListPopupWindow中ListView被点击的条目的索引值与该条目中数据在数据源List中的索引值的运算关系. /** * 初始化PopupWindow设置 * * @param context */ private void initPopup(Context context) { ...
在Android开发中,Spinner是一个非常实用的控件,它提供了类似下拉列表的功能,用户可以选择一个条目,而不会占据太多屏幕空间。本篇文章将详细讲解如何使用Spinner,并通过一个简单的例子来展示其基本用法。 一、...