这一讲主要需要了解的安卓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)的更多相关文章

  1. mono for android学习过程系列教程(1)

    直接进入主题,关于mono for android的学习,首先配置好环境,如何配置环境,度娘谷歌一大堆,记得使用破解版. 我自己是百度“黑马四期”传智播客的视频,里面有破解版开发环境的软件. 今天直接 ...

  2. mono for android学习过程系列教程(2)

    接着上一讲继续开始写,今天介绍的是安卓的基本组成结构. 在大多数情况下,MONO FOR ANDROID的命名空间和Android的命名空间 是互相映射的.有时候需要大小写,非字母数字字符的用法以及名 ...

  3. mono for android学习过程系列教程(7)

    首先说个抱歉,这段时候由于个人原因未及时更新博客.故此今天先给大家来个小料. 以后会及时更新我自己的学习过程. 不多说,终于私人生活安定下来了,可以安心学习.直接进入主体: 今天咱们摒弃所有的前面的知 ...

  4. mono for android学习过程系列教程(3)

    服务 接着上一讲的内容,咱们继续来唠叨概念性的东西.服务,内容提供器,广播接收器等理论知识. 首先是服务,它不是一个可视化的组件或者视图.他是由我们开发人员来定义,可以一直一直运行 的工作单元.跟活动 ...

  5. mono for android学习过程系列教程(4)

    今天要讲的事情是构建安卓程序的UI界面. 首先给大家上点小点心,如图: 上面就是我们界面的设计模块,仔细看中间大块的下方,有一个Source,这就类似webform里面的设计和源代码界面. 在这个页面 ...

  6. mono for android学习过程系列教程(6)

    接着上一讲,今天讲的是Button,CheckBox这二个安卓元素, 我们来看第一个Button这个控件,类似winform和webform里面一样,它也是 存在有触发事件的,我们新建初始化项目直接就 ...

  7. [转]Android Studio系列教程六--Gradle多渠道打包

    转自:http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/ Android Studio系列教程六--Grad ...

  8. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  9. Android Studio系列教程六--Gradle多渠道打包

    Android Studio系列教程六--Gradle多渠道打包 2015 年 01 月 15 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzh ...

随机推荐

  1. C# 在腾讯的发展

    本文首发我的微信公众号"dotnet跨平台", 内容得到大家热烈的欢迎,全文重新发布在博客,欢迎转载,请注明出处. .NET 主要的开发语言是 C# , .NET 平台泛指遵循EC ...

  2. 从源码看Azkaban作业流下发过程

    上一篇零散地罗列了看源码时记录的一些类的信息,这篇完整介绍一个作业流在Azkaban中的执行过程,希望可以帮助刚刚接手Azkaban相关工作的开发.测试. 一.Azkaban简介 Azkaban作为开 ...

  3. 关于开启.NET在线提升教育培训的通知! - 可在此页面观看在线直播!

    年前在线公开课程通知: 近期在开启VIP课程,隔天讲一次,年前其它时间插空讲公开课,主题:设计模式系列 1:培训 - 大概不会讲的内容: 1:不讲系列. 2:不讲入门. 3:不讲我不懂的! 2:培训 ...

  4. bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

    也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...

  5. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  6. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  7. HttpUrlConnection 基础使用

    From https://developer.android.com/reference/java/net/HttpURLConnection.html HttpUrlConnection: A UR ...

  8. [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform

    eclipse maven clean install 报错 1. 修改properties-->resource-->utf-8仍然报错 2.修改项目pom.xml文件,增加: < ...

  9. Spark踩坑记——数据库(Hbase+Mysql)

    [TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...

  10. 缓存工具类CacheHelper

    代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...