【Android每日一讲】2012.11.29 自定义下拉菜单模式 - Spinner与setDropDownViewResource

【Android每日一讲】2012.11.27 向左或向右 - RadioGroup组与onCheckedChanged事件 1. 范例说明 今天介绍RadioGroup的组事件。RadioGroup可将各自不同的RadioButton设限于同一个Radio按钮组,同属于一个RadioGroup组里的按钮,只能做出单一选择(单选题)。该范例首先设计一个TextView Widget,以及一个RadioGroup,并于该RadioGroup内放置两个RadioButton,默认为都不选择,在程序运行阶段,利用 阅读详情

1. 范例说明

  • Spinner就是下拉菜单,由于手机画面有限,要在有限的范围选择项目,下拉菜单是唯一、较好的选择。
  • 本范例的示范重点在于自定义下拉菜单里的样式,其关键在于调用setDropDownViewResource方法,以XML的方式定义下拉菜单要显示的模样,除此之外本范例还设计了一段动画,当User以触控的方式单击这个自定义的Spinner时,会以一段动画提示User。

2. 运行结果



3. 编写代码

private static final String[] countriesStr = { "成都市", "深圳市", "上海市", "天津市" };
	private TextView myTextView;
	private Spinner mySpinner;
	private ArrayAdapter<String> adapter;
	Animation myAnimation;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		/* 载入main.xml Layout */
		setContentView(R.layout.main);
		/* 以findViewById()取得对象 */
		myTextView = (TextView) findViewById(R.id.myTextView);
		mySpinner = (Spinner) findViewById(R.id.mySpinner);
		
		
		adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,
				countriesStr);
		
		/* myspinner_dropdown为自定义下拉菜单样式定义在res/layout目录下 */
		adapter.setDropDownViewResource(R.layout.myspinner_dropdown);
		/* 将ArrayAdapter加入Spinner对象中 */
		mySpinner.setAdapter(adapter);
		/* 将mySpinner加入OnItemSelectedListener */
		mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
					@Override
					public void onItemSelected(AdapterView<?> arg0, View arg1,
							int arg2, long arg3) {
						/* 将所选mySpinner的值带入myTextView中 */
						myTextView.setText("选择的是" + countriesStr[arg2]);
						/* 将mySpinner显示 */
						arg0.setVisibility(View.VISIBLE);
					}

					@Override
					public void onNothingSelected(AdapterView<?> arg0) {
						// TODO Auto-generated method stub
					}
				});
		/* 取得Animation定义在res/anim目录下 */
		myAnimation = AnimationUtils.loadAnimation(this, R.anim.my_anim);
		/* 将mySpinner加入OnTouchListener */
		mySpinner.setOnTouchListener(new Spinner.OnTouchListener() {
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				/* 将mySpinner执行Animation */
				v.startAnimation(myAnimation);
				/* 将mySpinner隐藏 */
				v.setVisibility(View.INVISIBLE);
				return false;
			}
		});
	}

4. 扩展学习与作业

1.ArrayAdapter在Spinner中使用小结

http://www.eyeandroid.com/thread-10155-1-1.html

2.Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段

http://www.eyeandroid.com/thread-8080-1-1.html

3.Android Animation学习笔记

http://www.eyeandroid.com/thread-8368-1-1.html

作业:让Spinner被选中的TextView为红色背景,下拉列表的TextView为白色背景


5.视频讲解
http://www.eyeandroid.com/thread-10816-1-1.html
产业园区运营负责人如何实现创新资源的系统化配置?.docx 产业园区运营负责人如何实现创新资源的系统化配置? 立即下载

相关推荐

高校技术转移办公室人员需要哪些材料完成成果转化项目审核?.docx

高校技术转移办公室人员需要哪些材料完成成果转化项目审核?

【Android您问我讲】带左右滑动的选项卡 - ViewPager与Tabhost的结合使用

1. 范例说明 ViewPager实现滑动切换的效果,但是切换的几个页面只是调用了不同的layout,实际上还是在一个Activity里面,对功能编写就不方便了。所以,采用TabHost和ViewPager结合,使用TabHost切换Activity,使用ViewPager切换界面,从而完善切换效果原理就是把tabhost里原有的的tabcontent隐藏掉,加一个viewpager

1864

状态估计【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP、粒子滤波PF轨迹估计研究(Matlab代码实现)

【状态估计】【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP、粒子滤波PF轨迹估计研究(Matlab代码实现)内容概要:本文主要介绍了基于变频控制的多相交错LLC谐振变换器闭环仿真研究,重点探讨了多相交错并联技术在降低输出电流纹波和提升功率容量方面的优势,分析了交错角对纹波抵消的影响以及均流问题的成因。针对变频控制带来的非线性特性,文章采用扩展描述函数(EDF)建立小信号模型,用于指导PID控制器的设计,并验证其在稳态和动态工况下的控制性能。通过Simulink仿真平台对闭环系统进行建模与测试,考察了启动过程、负载阶跃响应及频率调节的平滑性,结果表明所设计的控制系统具有良好的稳态精度和动态响应能力。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生及从事电源系统研发的工程技术人员。; 使用场景及目标:①掌握多相交错LLC谐振变换器的工作原理与建模方法;②学习变频控制下非线性系统的建模与PID环路设计技巧;③应用于高效率、低纹波开关电源的仿真设计与优化。; 阅读建议:建议结合文中提供的仿真模型与参数设置进行实践操作,重点关注EDF建模过程与控制器参数整定方法,通过对比不同交错角下的仿真结果加深对纹波抑制机理的理解。

《Android 每日一讲》之 2012.10.26 置换文字颜色的机关 -- Button与TextView的交互

1. 范例说明 在学会了一系列与TextView文字相关的范例与简单的按钮事件后,现在让我们把这两个对象做一个简单的整合。本范例将通过按钮的setOnClickListener与onClick方法的方式,在单击按钮后,触发setTextColor方法来变换文字颜色,但仅是变换颜色显得太无趣,所以在此创建一个自定义的颜色数组(mColors),单击按钮时,会根据数组元素的索引值的递增变

1600

森林冰火人html源码,森林冰火人单人版(源码)

【实例简介】java小游戏——森林冰火人,单人游戏, 实现人物行走,跳跃,吃水晶,具有计时功能,积分功能,倒计时结束游戏失败。【实例截图】【核心代码】森林冰火人单人版├── bin│ ├── game│ │ ├── Help.class│ │ ├── Logon.class│ │ ├── Main.class│ │ ├── Mykey.class│ │ ...

weixin_42507981的博客 6201

上机笔试题目:取出指定条件二维数组的子数组

取出指定条件二维数组的子数组: 1)传入参数为: 参数一:String[][]sArray2字符串二维数组 参数二:Stringkey字符串 参数三:StringkeyFormat含匹配符的字符串,如下:%0-%1,其中%x含义如为:一维数据列序号为x的值。 keyFormat 可以为 %0-%1-%2,%0-%3-%8-%x...... 例子如下...

91奔跑的蜗牛 636

《Android 每日一讲》之 2012.10.29 控制不同的文字字体 -- Typeface对象使用

1.范例说明 除了文字颜色以外,与文字对象息息相关的文字大小(size)及字体(font)是整个TextView文字实例的最后一站,这里将延续前一个范例的做法,通过按钮对象的Button.onClickListener来处理改变TextView的字体大小与字体。本范例将设计两个按钮:第一个控制TextView的字体,第二个控制字体大小,这里会特别解说如果是通过外部资源assets,引

1365

光学薄膜设计入门:Essential Macleod中文版从安装到实战全攻略

本文为光学薄膜设计初学者提供Essential Macleod软件从安装部署到实战应用的全流程中文指南。详细解析了软件核心界面、材料管理及工作流程,并通过一个完整的宽带增透膜设计实例,手把手演示膜系构建、优化与分析方法,帮助用户快速掌握这一业界标杆工具,跨越理论与实操的门槛。

weixin_29309475的博客 987

【Android每日一讲】2012.11.12 设计具有背景图的按钮 - ImageButton的焦点及事件处理

1. 范例说明 ImageButton是有背景图片的按钮,要设置ImageButton背景图有许多方法,此程序使用的方法是ImageButton.setImageResource(),需要传递的参数是res/drawable下面的ResourceID。除了设置背景图片的方法外,程序需要使用onFocusChange与onClick等作为按钮事件单击后的处理,最后通过TextView来

1280

别再手动敲代码了!用STM32CubeMX+FreeRTOS图形化配置,5分钟搞定多任务通信框架

本文详细介绍了如何利用STM32CubeMX和FreeRTOS快速搭建多任务通信框架,大幅提升嵌入式开发效率。通过图形化配置工具,开发者可在5分钟内完成任务调度、时钟配置和内核对象生成,特别适合物联网设备开发。文章还提供了代码优化和调试技巧,帮助开发者轻松应对复杂应用场景。

weixin_30363285的博客 292

手把手教你学simulink(43.2)--光伏发电场景示例:基于Simulink开发一个光伏发电系统仿真模型:采用神经网络控制策略进行优化

需求分析光伏发电系统(Photovoltaic System, PV)是将太阳能转换为电能的重要手段,广泛应用于分布式发电、并网发电和离网供电等领域。随着光伏技术的发展,如何提高光伏发电系统的效率和稳定性成为研究的重点。传统的控制策略(如PID控制器)虽然简单易实现,但在复杂工况下(如光照强度变化、温度波动等)难以达到最优性能。因此,引入先进的控制策略,如神经网络控制(Neural Network Control, NNC),可以显著提升系统的响应速度和鲁棒性。

MHD0815的博客 439

【Android您问我讲】Android 2.x中使用actionbar - Actionbarsherlock的使用

1. 范例说明 从Android 3.0开始,Android引入了ActoinBar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能。之前很多应用的顶部栏很多都是仿苹果的,比如微信。随着Android 4.0和Android 4.2 的发布和慢慢的推广开来,很多应用也开始使用Google推广的UI设计,而ActionBar是其中相当重要的一部分。无奈google

1262

PCIe 全解析笔记:从协议本质到工程实现

学习 PCIe,最容易陷入的误区是直接跳进协议手册(Base Spec 1300 多页),然后在 TLP 字段、LTSSM 状态、Ordering Rules 中迷失方向。正确的思维路径历史维度:从 PCI 到 PCIe,解决了什么核心矛盾?抽象维度:协议栈分层的真正意图是什么?工程维度:高速串行链路面临哪些物理挑战?协议如何应对?系统维度:作为 CPU 与外设的"动脉",PCIe 如何融入整个计算机体系?带着这四个视角去看每一个细节,知识才能内化为认知。

m0_46644103的博客 262

【Android您问我讲】超炫的左右滑动效果 - ViewPager的使用

1. 范例说明 •android-support-v4.jar,这是谷歌官方给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Android 3.0以上可以使用的api。而ViewPager就是其中之一,利用它我们可以做很多事情,从最简单的导航,到页面切换菜单等等。 •ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样。 •本Demo向大

1204

FPGA和USB3.0通信-USB3.0 PHY介绍

可以和FPGA搭配使用的USB3.0 PHY芯片通过之前的介绍<FPGA和USB3.0通信-USB3.0协议介绍USB3.0 PHY简介首先我们需要了解PHY具体完成哪些工作以及我利...

OpenFPGA的博客 4941

学习QT之应用程序打包发布

一、编译QT程序(release编译) 二、将release文件夹中的可执行文件复制到一个空的文件夹中 三、使用windeployqt打包工程 切换到可执行文件路径,执行windeployqt xxx.exe: 然后就会将程序所需要用到的资源以及库文件生成到可执行文件路径下: 此时应用程序就可以点击运行了。 四、使用Enigma Virtual Box封包(将文件夹内的文件集成为单可执...

贝勒里恩的博客 762

Android学习进阶路线Android源码分享)

毕业8月有余,同时伴随着从事的Android经验的提升。仔细思量过去的工作内容,掐指算来也是少得可怜---主要维护FM收 音机模块,间或看看Lancher模块的代码。尽管这样,总的来说,在这八个月事件的学习里,我自我感觉收获还是很大的---自学了很多 Android相关方面的知识。虽然里真正的大牛还有很远的一段路程要走,自己也会坚持学习、坚持走下去。            再次,把自己学习

1198

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Android每日一讲】2012.11.09 EditText与TextView共舞 - setOnKeyListener事件

1. 范例说明 EditText Widget设计的初衷是为了等待User输入而准备的,那么在User输入的同时,又该如何拦截所输入的文字呢?Android的多数Widget都有setOnKeyListener事件,通过Listener捕捉User的键盘事件。本范例将以EditText与TextView示范如何在捕捉User键盘输入文字的同时实时取得文字,同步显示于TextView。

1197

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Android每日一讲】2012.11.01 程序加载中,请稍后 - ProgressDialog 与线程整合应用

1. 范例说明 常看见Windows窗口程序里或Flash程序的“加载中”对话框,在Android里,则是通过ProgressDialog来运行,这个类封装在Android.app.ProgressDialog里。该范例将设计一个按钮,在单击按钮之后开始线程的周期,在运行的过程中显示ProgressDialog,最后当线程运行完毕时,选择结束ProgressDialog对话窗口。

1131

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【Android每日一讲】2012.10.30 自制计算器 - 多按钮的整合应用

1. 范例说明 在之前我们学会了Android按钮事件的设计,接下来的范例将利用简单的按钮组合制作一个简单的计算器。这个范例中,除了要活用按钮的组合外,也示范如何利用不同的按钮事件处理与TextView之间的文字变化,尤其是事件彼此不同,连带处理的结果也不同。 2. 运行结果 3. 编写代码 @Override public void onCreate(B

1102

【Android每日一讲】2012.11.08 Android 多语系支持 -- Locale与Configuration

1. 范例说明 Android SDK自1.5以后便有应用程序多语系支持,大陆地区使用的语系为简体中文。本范例程序就是示范如何在资源文件(res/drawable与res/values)里创建多语系资源,随着多语系Android Market的诞生,多语系支持随即成了每一个应用程序出厂时的标准配备,以往要修改语系是大费周章的工程,更别说手机应用程序里如何处理不同语系了,以及不同地

1082

【Android每日一讲】2012.11.28 快速地搜索手机文件引擎 - Java IO的应用

1. 范例说明 大家都应该用过操作系统的文件搜索功能吧!它可以快速协助我们找到想要的文件。如果要在手机制作一个文件搜索功能,又该如何实现呢?其实这个功能并不难,Java I/O的API中提供了Java.io.File对象,只要利用File对象的方法,再搭配Android的EditText、TextView等对象,就可以轻松做出一个简单的手机文件搜索引擎。该范例中使用EditText、

1069

【Android每日一讲】2012.10.31 关于(about)程序信息 - Menu功能菜单程序设计

1. 范例说明 该范例介绍Android Menu Key的设计,并示范“关于”对话框、“离开程序”等语法。程序里除了默认重写onCreate()之外,还需要另外新建两个类函数:onCreateOptionsMenu()和onOptionsItemSelected()。前者为创建Menu菜单的项目,后者则是处理菜单被选择运行后的事件处理,最后则是在当User单击“关于”菜单之后,弹跳

1047
上一篇: 【Android每日一讲】2012.11.28 快速地搜索手机文件引擎 - Java IO的应用
下一篇: [Android Samples视频系列之ApiDemos] App-Activity-SetWallpaper
cofftech
博客等级 码龄16年 46粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值