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