自定义Android的Spinner

Android自定义spinner 重温Android自定义控件,选择自定义一个类spinner,别眨眼: 先来看看效果 一:首先是自定义属性 1.在res/values下创建一个attrs.xml文件,在里面定义属性 2.文件如下:     CustomSpinner">                                                        阅读详情


来自:http://my.oschina.net/kut/blog/30564

刚接触Android平台编程不久,被烂教材整得头晕。

有一个关于Spinner扩展的问题,问题是,怎么把弹出来的菜单自定义。当然,书上是没有告诉你的,它们压根就不知道那个和ArrayAdapter相关的两个layout关联到底是什么回事说清楚,就这么列了个代码就算了。我很头晕,于是,写代码,验证自己的推测,搞了好久才“哦”一声解决了自己的疑问。

而自定义Spinner则是和这两个layout有关,ArrayAdapter中初始化的那个layout,是用来渲染spinner被选择的item的样式,而setDropDownResource这个layout,则是弹出框时用的item样式。也就是说,这个spinner使用了两个列表,只不过第一个列表只是显示了一行而已。

下面列个代码,大家仔细看就明白了(因为中午没睡,现在太困了,没精力写为什么了,估计大家能看得懂)。

01<?xmlversion="1.0"encoding="utf-8"?>
02 
03<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
04              android:layout_width="fill_parent"
05              android:layout_height="fill_parent"
06              android:padding="10dip">
07 
08    <ImageViewandroid:id="@+id/icon"
09               android:src="@drawable/tick"
10               android:layout_marginRight="10dip"
11               android:layout_width="wrap_content"
12               android:layout_height="wrap_content"
13               android:visibility="invisible"/>
14 
15    <TextViewandroid:id="@+id/label"
16              android:layout_width="wrap_content"
17              android:layout_height="wrap_content"
18              android:layout_toRightOf="@id/icon"
19              android:textColor="#000000"
20              android:textSize="22dip"/>
21</LinearLayout>
01public classCustomSpinnerActivity extendsActivity {
02    publicSpinner spinner;
03 
04    publicvoid onCreate(Bundle savedInstanceState) {
05        super.onCreate(savedInstanceState);
06        setContentView(R.layout.ch07_custom_spinner);
07 
08        Resources res = getResources();
09        CharSequence[] platforms = res.getTextArray(R.array.platforms);
10 
11        spinner = (Spinner) findViewById(R.id.target);
12 
13        ArrayAdapter<CharSequence> adapter =new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_item, platforms) {
14            @Override
15            publicView getDropDownView(int position, View convertView, ViewGroup parent) {
16                View view = getLayoutInflater().inflate(R.layout.ch07_custom_spinner_item, parent,false);
17 
18                TextView label = (TextView) view.findViewById(R.id.label);
19                label.setText(getItem(position));
20 
21                if(spinner.getSelectedItemPosition() == position) {
22                    label.setTextColor(getResources().getColor(R.color.selected_fg));
23                    view.setBackgroundColor(getResources().getColor(R.color.selected_bg));
24                    view.findViewById(R.id.icon).setVisibility(View.VISIBLE);
25                }
26 
27                returnview;
28            }
29        };
30        spinner.setAdapter(adapter);
31    }
32 
33}

效果图

btw:我也来接触android了?没办法,为了应付GCD,曲线救国,希望能赶得上,还有整整四个月时间让我去深入这一领域。


安卓自定义下拉框---Spinner的实现 最近项目中用到下拉列表,刚开始一头雾水,后来在网上找了一个Demo,自己改了一下,现在把它分享出来,给大家参考,写的不好,多多关照!不过功能还是实现的了······先上图给大家看看效果! 效果图: 实现思路: 1.定义下拉控件布局(ListView及子控件布局) 2.自定义SpinerPopWindow类 3.定义填充数据的Adapter 阅读详情

相关推荐

xamarin android自定义spinner

以前弄的一个下拉框时自带的spinner,感觉好丑,实际效果实在满足不了基本的UI界面要求,还是自己动手丰衣足食,看了网上关于android中自定义spinner的文章,感觉实现原理还是比较简单,所以这里用xamarin android来实现自定义spinner样式。参考文章:http://blog.youkuaiyun.com/jdsjlzx/article/details/41316417

dotNet全栈开发 5136

android 自定义spinner样式,【安卓】如何制作Spinner的Hint提示效果,并自定义Spinner样式...

这个需求其实还是有的,有时候我们想在Spinner中制作出一个类似于TextView的hint那样的效果。如下: 当你第一次看到这个Spinner的时候,其中显示“点击选择”,而你点了一下,就会出现选项,一旦点选了某个选项,“点击选择”就会从此消失,也就是说,那只是提示,不参与逻辑判断。也就是boni2k提供的solution,于是我复制过来做了一些自己的测试和理解如下:代码部分:// 布局文件 ...

weixin_35462903的博客 1090

Android自定义Spinner样式:编程指南

在这个示例布局中,我们使用了一个LinearLayout来包含一个ImageView和一个TextView。Spinner是Android开发中常用的下拉菜单控件,它可以让用户从预定义的选项列表中选择一个值。接下来,在你的Activity或Fragment中,我们需要创建一个Adapter来提供数据给Spinner,并且为Spinner设置这个Adapter。首先,我们需要创建一个新的XML布局文件来定义自定义Spinner的外观。现在,当你运行应用程序并点击Spinner时,你将看到自定义的样式。

2301_79331421的博客 884

【Android】自定义Spinner控件及其使用

Android自带Spinner控件如何使用以及如何进行样式自定义、监听选择事件等

boulete的博客 1万+

Android自定义Spinner的实践指南

选项1</item><item>选项2</item><item>选项3

weixin_35916518的博客 1103

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

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

weixin_42466723的博客 1142

【安卓】如何制作Spinner的Hint提示效果,并自定义Spinner样式

这个需求其实还是有的,有时候我们想在Spinner中制作出一个类似于TextView的hint那样的效果。 如下: 当你第一次看到这个Spinner的时候,其中显示“点击选择”,而你点了一下,就会出现选项,一旦点选了某个选项,“点击选择”就会从此消失,也就是说,那只是提示,不参与逻辑判断。 那么如何做到这种效果呢?我去stackoverflow上查了一下,发现http://s

邂逅黛玛姑娘 1万+

2025.06.20【pacbio】|PB甲基化分析结果的统计与可视化介绍

本文介绍了PacBio甲基化数据的统计分析与可视化方法。主要内容包括:1) 分析甲基化位点分布、比例及染色体分布;2) 修饰基序(Motif)的统计与热图展示;3) 全基因组和局部区域测序深度可视化;4) 使用IGV查看单个reads修饰情况。文章提供了R代码示例,涵盖柱状图、分布图、热图等多种可视化形式,并建议了差异甲基化分析等进阶方法,帮助科研人员深入挖掘甲基化数据。

2066

android spinner自定义样式,Android自定义Spinner【原创】

最近在做的项目中有很多下拉框,为了实现方便就用了Android 自带的Spinner,但是自带的Spinner的样式又不符合要求,就学习了一下自定义Spinner。下面是整个步骤:1.准备好图片2.style中定义@drawable/spinner5dip3.调用android:id="@+id/field_item_spinner_content"style="@style/spinner_st...

weixin_32804237的博客 1004

基于Plecs的LLC谐振变换器闭环设计:从PI参数整定到动态响应优化

本文详细介绍了在Plecs仿真环境中,如何为半桥LLC谐振变换器设计并优化闭环控制系统。从开环模型搭建与特性分析入手,重点阐述了基于频域法的PI控制器参数整定流程,并通过负载阶跃、输入电压突变等测试优化动态响应。文章还分享了从仿真模型过渡到实际硬件时的关键注意事项,帮助工程师实现稳定、高效的电源设计。

e4f5g6h的博客 624

多层感知机 Multilayer Perceptron | MLP

本文主要简单介绍了多层感知机的基本概念,优缺点,应用场景,建模时的注意事项,评价指标,实现方法,python示例和模型的参数等。

JasonH2021的博客 3万+

android spinner自定义,自定义Android的Spinner

刚接触Android平台编程不久,被烂教材整得头晕。有一个关于Spinner扩展的问题,问题是,怎么把弹出来的菜单自定义。当然,书上是没有告诉你的,它们压根就不知道那个和ArrayAdapter相关的两个layout关联到底是什么回事说清楚,就这么列了个代码就算了。我很头晕,于是,写代码,验证自己的推测,搞了好久才“哦”一声解决了自己的疑问。而自定义Spinner则是和这两个layout有关,Ar...

weixin_34515820的博客 594

【AI深究】合成数据(Synthetic Data)深度解析:原理、算法与工程实践——全网最详细流程|核心原理、主流方法、数学表达、工程实践与细节、未来趋势|GAN、VAE、语言模型LLM合成如GPT

大家好,我是爱酱。本篇延续将会系统梳理合成数据(Synthetic Data)的核心原理、主流方法、数学表达、工程实践与未来趋势,结合数学公式,帮助你全面理解这一AI建模的关键技术。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 4929

android spinner 简书,一步一步自定义spinner

spinner就是下拉选择组件,系统自带的spinner使用起来非常方便,首先定义一个array(strings.xml),如下:一年级二年级三年级四年级五年级六年级代码如下:Spinner spinner = (Spinner) findViewById(R.id.spinner);ArrayAdapter adapter = ArrayAdapter.createFromResource(th...

weixin_27153203的博客 1376

姿态传感器/陀螺仪之LSM6DSLTR应用驱动程序设计

* LSM6DSLTR I2C地址(SA0=1) *//* 初始化LSM6DSLTR传感器(加速度计±2g,陀螺仪±250°/s) *//* 加速度计灵敏度 *//* 角速度值(°/s) *//* I2C句柄 *//* 陀螺仪灵敏度 *//* 加速度值(g) *//* 温度值(°C) *//* 设备地址 *//* IF_INC=1: 自动增量地址 *//* 10Hz采样率 *//* 配置I2C1引脚:PB6->SCL, PB7->SDA *//* 转换为实际温度值(°C),参考手册中温度计算公式 */

corlin6688的博客 395

乐企增值税及附加税费(一般纳税人适用)申报表填报能力说明文档V3.009

申报表填报,是指企业在自有业务系统中将算税结果数据按预填规则要求加工汇总后,进行申报表填报的过程。申报表填报前对纳税申报所需的前提条件进行校验。校验通过后,应用前序算税结果数据及预填规则进行纳税申报表预填,生成申报表数据。申报表数据通过申报业务规则校验后,经纳税人确认即完成申报表填报业务。

记录点滴 345

Android 自定义Spinner

下拉控件再常见不过了,今天做一个类别的下拉菜单用到了自定义Spinner控件,再次记录一下, 首先是布局: <Spinner android:id="@+id/blog_spinner" android:layout_width="wrap_content" android:overlapAnchor="false" android:spinnerMode="drop

可乐的博客 1137

20、基于图神经网络的脱氢焓预测方法研究

本文研究了基于图神经网络(GNN)的液态有机氢载体(LOHC)材料脱氢焓预测方法。通过分析现有GNN方法的局限性,提出了一种新的聚合自节点表示(AWS)方法,并结合丰富的原子特征和集成学习策略,显著提高了预测性能。实验结果表明,AWS在脱氢焓预测和多个基准化学性质预测任务中均优于现有GNN方法。此外,基于分子结构的集成方法进一步提升了模型的鲁棒性和准确性。研究展示了该方法在筛选LOHC材料中的潜力,并为未来预测更多化学性质奠定了基础。

pp12345的博客 103

Android开发——自定义Spinner

在使用Spinner时,如果单纯的设置背景色,则下拉框的箭头会被覆盖,这并非想要的。通过上网查找资料,这篇文章的方法简单可行。 文章链接:https://www.jianshu.com/p/25121c36f753 附注:如果觉得背景色太深不好看,可以使用android:alpha=“0.7”(数字可修改,为0~1之间的小数)来设置透明度。 ...

qq_44937699的博客 1810

Halcon实例转OpenCVSharp--粘连物体分割与计数(基于距离变换+分水岭算法) (附源码)

本文作者Color Space,文章未经作者允许禁止转载! 本文将介绍OpenCVSharp应用实例--粘连物体分割与计数(基于距离变换+分水岭算法)! 本文使用的OpenCVSharp版本---》v4.5.3。 实现目标:将下图中的硬币分割出来并计算数量。 预期效果图: ...

Color Space的博客 2419

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android: spinner及setDropDownViewResource的使用及自定义Spinner样式

Spinner下拉列表 一般使用非常简单。直接上代码 1.布局文件 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout...

a96167653219的博客 347

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android 实现自定义Spinner

有时候因为项目的界面风格 很多控件如果使用原生的样式感觉会与整体风格有些不搭 所以需要自定义样式 很多项目中自定义控件都是必不可少的 这里参考网上的一些资料 实现了一个自定义Spinner  记录下 加深印象 效果图:                          弹框是通过一个重写的Dialog和Listview实现       第一步   重写Dialog类Selec

七彩祥云至尊宝 6万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android:Spinner自定义、动态数据

1、布局定义 <Spinner android:id="@+id/spinner_view" android:layout_width="match_parent" android:layout_marginLeft="20dp" android:layout_height="match_parent" android:gravity="right...

weixin_39165470的博客 1264

android spinner自定义样式,android自定义Spinner下拉菜单(下拉列表框)样式

在Android中Spinner就是下拉菜单,它相当于HTML中的标签。Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用,不过我们还是可以通过定义xml的方式来改变下拉菜单的样式。在layout目录下新建一个xml文件,名字随便(我这里叫myspinner.xml)。在这个文件里面可以定义下拉菜单的样式我们这里采用TextView来实现xmlns:android...

weixin_34342589的博客 1160

Android自定义Spinner样式

背景 UI 要求的视觉如下的下拉框: 解决办法:设置Spinner的背景图,如下代码: <Spinner android:id="@+id/sp_gender" android:layout_width="match_parent" android:layout_height="match_parent" android:b.

Jason_HD的博客 5877

Android自定义Spinner下拉列表

自定义下拉列表/Spinner:设置列表显示数目/设置列表高度 前段时间有个项目用到了下拉列表,有一项需求是限制列表选项显示的数目,刚开始使用的是系统自带的spinner可是查了半天才发现无法设置它的显示项数甚至无法指定列表的高度。小结:总体思路很简单,创建一个LinearLayout并在初始化时添加一个头布局(文本加箭头)作为列表结果项,添加一个身体布局(PopupWindow)来作为选项列表,为这个结果项添加点击事件来显示选项列表.... 废话不多说,直接上代码。

无 1453
上一篇: Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用!
下一篇: Android 之 下拉框(Spinner)的使用
shareCode
博客等级 码龄15年 125粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值