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

posted @ 2014-04-11 21:55  高卿  阅读(1506)  评论(1编辑  收藏  举报