mono for android学习过程系列教程(5)
这一讲主要需要了解的安卓UI元素是Spinner。这个元素类似我们
winform和webform里面的下拉选项。
首先我们先建立一个新的项目,命名为SpinnerExample。

然后在Layout文件夹下,双击打开Main.xmal文件。从左侧工具箱中
把原有的Hello的那个按钮给删掉。删掉的方法有,选中那个按钮直接按键盘上的delete按钮,还有
一种就是把Source里面的button按钮节点删掉,这是界面控件xml代码;如图:

这里需要注意的是,这里对界面的设计需要在可以拖放控件的页面才能保存,在xml代码界面保存不了。

接着,我们打开解决方案里面的Activity1.cs文件。
namespace SpinnerExample
{
//就在代码里面解释吧,下面的这个MainLauncher是设置为默认启动的活
//动页面,Label是可以设置为在安卓手机里面的软件名称,ICON是设置
//软件项目的图标。@drawable/icon这个表示在drawable文件夹下
//的icon文件。
[Activity(Label = "SpinnerExample", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
//这里需要介绍下,刚开始我是用的时候喜欢A a()=new A();这样实例化
//对象,喜欢在方法里面进行实例化。但是后来,我发现对每一个控件的
//实例化,最好在方法外面,因为很多方法里面经常用这些变量。 Spinner state;
TextView tvSp;
//这个是适配器,相当于视图和数据直接的桥梁,用来绑定使用
ArrayAdapter<String> aas; protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
//这个是启动Layout下面的Main视图文件, SetContentView(Resource.Layout.Main);
//在下面那些FindViewById方法使用前,需要重新生成才能够找到控件
//比如sp:Resource文件夹下ID为sp的控件,这里是控件的初始化
state = FindViewById<Spinner>(Resource.Id.Sp);
tvSp = FindViewById<TextView>(Resource.Id.tvSp);
//这里是数据的添加,以及适配器将数据传到视图的显示样式
aas = new ArrayAdapter<String>(this,
Android.Resource.Layout.SimpleSpinnerDropDownItem);
aas.Add(String.Empty);
aas.Add("Alabama");
aas.Add("Arizona");
aas.Add("California");
aas.Add("Tennessee");
aas.Add("Texas");
aas.Add("Washington");
//将aas数据赋值给Spinner控件的适配器属性
state.Adapter = aas;
//这里是选中项的触发事件
state.ItemSelected += new EventHandler<ItemEventArgs>(sp_ItemSelected);
}
//这里是代码主体不分
void sp_ItemSelected(object sender, ItemEventArgs e)
{
tvSp.Text = Convert.ToString(aas.GetItem(e.Position));
} }
跟asp.net里面开发一样,利用两下Tab键可以生成事件的方法。
这个例子是创建一个包含String类型的ArrayAdapter,并将其与Spinner控件相关联,
字符串首选被添加到ArrayAdapter中,然后被添加到Spinner控件中,显示给用户。
运行效果如图:



今天主要介绍的就是这个Spinner控件,最近可能更新比较慢,要去外地,大家静待。
本来想放demo的,不知道demo往哪里上传,我就放csdn去了。http://download.csdn.net/detail/gao3705512/7179715
找工作辛苦呀。。没有办法。
转载请附带联系人Q-高卿 QQ1466358067
mono for android学习过程系列教程(5)的更多相关文章
- mono for android学习过程系列教程(1)
直接进入主题,关于mono for android的学习,首先配置好环境,如何配置环境,度娘谷歌一大堆,记得使用破解版. 我自己是百度“黑马四期”传智播客的视频,里面有破解版开发环境的软件. 今天直接 ...
- mono for android学习过程系列教程(2)
接着上一讲继续开始写,今天介绍的是安卓的基本组成结构. 在大多数情况下,MONO FOR ANDROID的命名空间和Android的命名空间 是互相映射的.有时候需要大小写,非字母数字字符的用法以及名 ...
- mono for android学习过程系列教程(7)
首先说个抱歉,这段时候由于个人原因未及时更新博客.故此今天先给大家来个小料. 以后会及时更新我自己的学习过程. 不多说,终于私人生活安定下来了,可以安心学习.直接进入主体: 今天咱们摒弃所有的前面的知 ...
- mono for android学习过程系列教程(3)
服务 接着上一讲的内容,咱们继续来唠叨概念性的东西.服务,内容提供器,广播接收器等理论知识. 首先是服务,它不是一个可视化的组件或者视图.他是由我们开发人员来定义,可以一直一直运行 的工作单元.跟活动 ...
- mono for android学习过程系列教程(4)
今天要讲的事情是构建安卓程序的UI界面. 首先给大家上点小点心,如图: 上面就是我们界面的设计模块,仔细看中间大块的下方,有一个Source,这就类似webform里面的设计和源代码界面. 在这个页面 ...
- mono for android学习过程系列教程(6)
接着上一讲,今天讲的是Button,CheckBox这二个安卓元素, 我们来看第一个Button这个控件,类似winform和webform里面一样,它也是 存在有触发事件的,我们新建初始化项目直接就 ...
- [转]Android Studio系列教程六--Gradle多渠道打包
转自:http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/ Android Studio系列教程六--Grad ...
- 【Android进阶系列教程】前言
起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...
- Android Studio系列教程六--Gradle多渠道打包
Android Studio系列教程六--Gradle多渠道打包 2015 年 01 月 15 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzh ...
随机推荐
- CoreCLR源码探索(一) Object是什么
.Net程序员们每天都在和Object在打交道 如果你问一个.Net程序员什么是Object,他可能会信誓旦旦的告诉你"Object还不简单吗,就是所有类型的基类" 这个答案是对的 ...
- PHP实现RTX发送消息提醒
RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档( ...
- 微信网页开发之获取用户unionID的两种方法--基于微信的多点登录用户识别
假设网站A有以下功能需求:1,pc端微信扫码登录:2,微信浏览器中的静默登录功能需求,这两种需求就需要用到用户的unionID,这样才能在多个登录点(终端)识别用户.那么这两种需求下用户的unionI ...
- WebSocket - ( 一.概述 )
说到 WebSocket,不得不提 HTML5,作为近年来Web技术领域最大的改进与变化,包含CSS3.离线与存储.多媒体.连接性( Connectivity )等一系列领域,而即将介绍的 WebSo ...
- 验证管理员权限(C#)
参考页面: http://www.yuanjiaocheng.net/webapi/test-webapi.html http://www.yuanjiaocheng.net/webapi/web-a ...
- [数据结构]——链表(list)、队列(queue)和栈(stack)
在前面几篇博文中曾经提到链表(list).队列(queue)和(stack),为了更加系统化,这里统一介绍着三种数据结构及相应实现. 1)链表 首先回想一下基本的数据类型,当需要存储多个相同类型的数据 ...
- python 数据类型 --- 集合
1. 注意列表和集合的区别 set 列表表现形式: list_1 = [1,3,4]; 集合表现形式:set_1= set() list_1 = [1,2,3,4,23,4,2] print(lis ...
- Highcharts中国地图热力图
最近有个项目需要将MC销量按大陆各省统计,并以中国地图人力图效果显示.由于项目一直使用Highcharts进行图表的统计,故采用Highmaps来实现. 效果如下: 1)中国各个省.直辖市.自治区: ...
- 用Kotlin实现Android定制视图(KAD 06)
作者:Antonio Leiva 时间:Dec 27, 2016 原文链接:https://antonioleiva.com/custom-views-android-kotlin/ 在我们阅读有关c ...
- MySQL数据库罕见的BUG——Can't get hostname for your address
在连接mysql jdbc时候,抛出了 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communicat ...