1. 程式人生 > >mono for android學習過程系列教程(5)

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