Monday, June 27, 2016

[X.Andriod] 自訂 ListView

這篇官網文章內 Part 3 - Customizing a ListView's Appearance 有內建 ListView 的效果資料可以參考,實務上大概不會這麼幸運,直接套內建的就行,練習建立自訂的 ListView

[X.Andriod] 自訂 ListView-1

Friday, June 24, 2016

[X.Andriod] ListView - 基礎練習

ListView 基礎練習
  • 使用 Andriod 內建 Layout - SimpleListItem1 來呈現 ListView,Part 3 - Customizing a ListView's Appearance 該篇有內建 layout 的 ListView 執行效果可以看
  • ListView 資料來源,要設定 Adapter Property,常見 Adapter 為
    • ArrayAdapter - 該練習是使用它
    • SimpleAdapter - SimpleListItem2 會用到
    • BaseAdapter - 自訂 ListView 用
    • CursorAdapter - 搭配 SQLLite 會用上
  • 點擊 ListView 上的 Item 會觸發 ItemClick 事件
Main.axml:就放一個 ListView 控件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">
    <ListView
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listView1" />
</LinearLayout>
MainActivity.cs
namespace ListViewBase
{
    [Activity(Label = "ListViewBase", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            List<string> data = new List<string>();
            data.Add("Xamarin");
            data.Add("SQL Server 2016");
            data.Add("Windows Server 2016");
            data.Add("Visual Studio 2015");
            data.Add("Visual Studio Code");
            data.Add("Azure");

            ArrayAdapter<string> source = new ArrayAdapter<string>(
                this, 
                Android.Resource.Layout.SimpleListItem1, 
                data);

            ListView list = FindViewById<ListView>(Resource.Id.listView1);
            list.Adapter = source;

            list.ItemClick += (sender, e) =>
            {
                Toast.MakeText(this, data[e.Position], ToastLength.Short).Show();
            };
        }
    }
}

[X.Andriod] ListView - 基礎練習

Wednesday, June 22, 2016

[X.Andriod] Activity 傳遞參數

簡易登錄介面,練習從 Activity 傳遞參數至一個 Activity,並把參數內容顯示出來

Project 內容
[X.Andriod] Activity 傳遞參數-3

Tuesday, June 21, 2016

[X.Andriod] EditText

看 Xamarin.Andriod 範例時,在 XML 內都有看見 EditText 控制項,可是在工具箱內就是找不到

[X.Andriod] EditText-1

後來才知道原來是 Text Fields 分類內的 Plain Text 控件

官網上看見兩個範例,整合在一起練習
[X.Andriod] EditText-3
<?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">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/txtInput"/>
    <TextView
        android:text="Text"
        android:layout_width="match_parent"
        android:layout_height="47.5dp"
        android:id="@+id/txtResult" />
</LinearLayout>
namespace EditTextPractice
{
    [Activity(Label = "EditTextPractice", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            EditText txtInput = FindViewById<EditText>(Resource.Id.txtInput);
            TextView txtResult = FindViewById<TextView>(Resource.Id.txtResult);

            txtInput.TextChanged += (sender, e) => {
                txtResult.Text = e.Text.ToString();};

            txtInput.KeyPress += (sender, e) =>
            {
                e.Handled = false;
                if (e.KeyCode == Keycode.Enter)
                    Toast.MakeText(this, txtInput.Text, ToastLength.Short).Show();    
                e.Handled = true;
            };
        }
    }
}
[X.Andriod] EditText-2

Monday, June 20, 2016

棗園路跑

最近運動時間隨著第二胎逐漸成長,急速下降中,只能把運動時間計畫到回屏東時,不能只侷限在高雄,有岳母幫忙照顧硯的情況下,可以避免太太和硯 1 打 1。

第一次回屏東運動,就先來個簡單的 - 從家裡跑到棗子園,剛好遇上下了好長的午後雷陣雨,空氣超級清新的,去程有夕陽大景、回程有月亮山巒相伴,跑完後心靈滿足程度百分百,超級舒服的啦。
  • 夕陽與棗子園,棗子園一片黑,哈
20160619 - 棗園路跑
  • 棗子園旁堤防,沒想到堤防上無法看到,雲霧圍繞山巒最美的那部分,Orz
20160619 - 棗園路跑

從家裡到棗子園,大約是 3.18km,大概是操場 8 圈距離,其實也不會很遠啦

20160619-棗園路跑