標籤:android style blog http io ar color 使用 sp
環境雖然搭建的不穩定,不過還是可以開發的,又加了兩個環境變數不知道有沒有效果。待測。
加的兩個環境變數是
① 添加環境變數 ANDROID_SDK_HOME:
D:\Android\
② 在path環境變數下追加路徑下追加路徑:
D:\Android\platform-tools;D:\Android\tools;
修改了一下CPU的虛擬技術
整體來說用c#寫安卓的代碼挺有意思。代碼風格和寫法跟用java寫的基本類似,只不過有一些方法名不同而已。因為之前沒寫過安卓程式也沒怎麼開發過java程式,所以有錯誤的地方請指出。
SetContentView (Resource.Layout.Main);
預設程式上來第一句話就是這個,我英文又不好,所以理解是大概意思是擷取布局的資源檔。
在這裡有個事情需要注意一下,如果新拖了一個控制項,但是在CS字碼頁面擷取不到,可以嘗試從新產生整個項目,這樣就能帶過來了。如果沒帶過來硬寫的話可能會提示error,所以需要注意一下。
然後就是在頁面上拖控制項隨便拖幾個。
我拖了幾個
分別是TextView,EditText,Button
因為我之前是一直在做web開發所以解釋偏向webform
TextView類似Label
EditText類似Text
Button類似Button
我的命名規則基本都是在使用web的。如果誰知道這個命名規則可以告訴我下哈~
下面說一下控制項的一些注意事項,
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:minWidth="25px" android:minHeight="25px"> <TextView android:text="小李" android:layout_width="match_parent" android:layout_height="25.0dp" android:id="@+id/textView1" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/txtPhone" android:text="10086" android:layout_marginTop="30.0dp" /> <Button android:text="通話" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnPhone" android:textSize="25px" /> <Button android:text="跳轉" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnTo" /></LinearLayout>
大小都是用像素表示,對齊都是用dp表示。dp可以是float類型。
ID命名都是@+id/youName。
VS的可視化編輯可以讓我們在屬性上把他們都給設定上。(VS2015 BUG 設定字型大小可能會在可視化頁面失效,不知道為什麼,運行起來沒問題)如果之前學過安卓開發請無視這段。
Button btnPhone = FindViewById<Button>(Resource.Id.btnPhone);EditText txtPhone = FindViewById<EditText>(Resource.Id.txtPhone);
通過視圖的ID尋找這個控制項,這樣就可以找到這個控制項並且操作這個控制項,c#這邊可以使用兩種方式來給控制項添加事件。
btnPhone.Click += delegate{};btnPhone.Click += BtnPhone_Click;private void BtnPhone_Click(object sender, EventArgs e){ }
內建的hello world是使用第一種委託方式我感覺第一種簡單所以我也那麼些,第二種是寫完+=按兩下tab產生出來的。
接下來就可以在委託或者方法裡面寫自己的代碼進行功能操作了。我做了個打電話的小demo
btnPhone.Click += delegate { //建立 是否類型提示框 var callDialog = new AlertDialog.Builder(this); //提示框資訊 callDialog.SetMessage("是否開始通話?"); //確定按鈕的文字和事件 callDialog.SetNeutralButton("通話", delegate { //建立打電話的事件 var call = new Intent(Intent.ActionCall); //要打給的電話號是多少 call.SetData(Android.Net.Uri.Parse("tel:" + txtPhone.Text)); //執行這個事件 StartActivity(call); }); //取消按鈕的文字和事件 callDialog.SetNegativeButton("取消", delegate { }); //顯示出來。 callDialog.Show(); };
代碼執行的方式從上到下,那麼開始就建立了一個提示框中間部分我們對我們的提示框做了一些操作,最後把這個提示框顯示出來。感覺這種寫法類似於cs的表單寫法但是又不太像,不過理解起來很容易。
這時候就可以運行了,不過在運行之前做幾個設定。
因為需要打電話所以需要調用一個介面(?)
還需要設定一下最小的可執行檔安卓版本
個人建議最好設定成模擬器的版本號碼。
這樣就能打電話了。
現更新到這,跳轉功能下次在說。
VS2015開發安卓應用筆記(一)