这一讲主要需要了解的安卓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. 【.net 深呼吸】细说CodeDom(5):类型成员

    前文中,老周已经厚着脸皮介绍了类型的声明,类型里面包含的自然就是类型成员了,故,顺着这个思路,今天咱们就了解一下如何向类型添加成员. 咱们都知道,常见的类型成员,比如字段.属性.方法.事件.表示代码成 ...

  2. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

  3. NodeJs之Path

    Path模块 NodeJs提供的Path模块,使得我们可以对文件路径进行简单的操作. API var path = require('path'); var path_str = '\\Users\\ ...

  4. CMS模板应用调研问卷

    截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...

  5. JavaScript 对数据处理的5个API

    JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...

  6. 黑云压城城欲摧 - 2016年iOS公开可利用漏洞总结

    黑云压城城欲摧 - 2016年iOS公开可利用漏洞总结 作者:蒸米,耀刺,黑雪 @ Team OverSky 0x00 序 iOS的安全性远比大家的想象中脆弱,除了没有公开的漏洞以外,还有很多已经公开 ...

  7. 一次修改闭源 Entity Provider 程序集以兼容新 EntityFramework 的过程

    读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内 ...

  8. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  9. 实例操作JSONP原理

    絮语:按这个步骤走,你就会明白JSONP是什么鬼. 1.工程目录: ng-mywork demo.html test.js 2.nginx的server配置 server { listen ; ser ...

  10. .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper

    好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起 ...