کار با Spinner


رضا نقی لو 1395/01/17

به نام خدا،در ادامه آموزش های زامارین  امروز میخاهیم با  اسپینر (Spinner) آشنا بشیم.Spinner یک نوع نمایش از نوع لیست میباشد با این تفاوت که  این نوع لیست به صورت آبشاری یا drop-down است.طی این آموزش  به صورت کاملا ساده با این ویجت کار خواهیم کرد.

 برای شروع کار یک پروژه جدید ایجاد میکنم.از پوشه  layout فایل Main.axml رو اجرا کرده و کدها لایه برنامه رو می نویسیم.در داخل این کدها از یک Spinner برای نمایش لیست مون استفاده خواهیم کرد.در این لایه Spinner  ما از سه خصوصیت layout_width برای اندازه عرض اسپینر، از خاصیت layout_height برای اندازه ارتفاع و از android:id برای شناسه دادن برای Spinner  استفاده کرده ایم.با استفاده از id یک شناسه برای اسپینر درنظر میگیرم تا در هنگام کد نویسی سی شارپ  برای برنامه ما قابل دیده شدن باشه.(کدهای کامل لایه Main.axml).

 <?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">
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner1" />
</LinearLayout>

در ادامه کلاس MainActivity.cs رو اجرا  میکنم،برای اینکه آیتم های رو در اسپینر نمایش بدیم نیاز داریم تعدادی آیتم  رو به صورت رشته ای String ایجاد کنیم.در قدم بعدی باید آیتم های داخل String رو به اسپینر متصل کنیم،برای این کار از ArrayAdapter برای اتصال آیتم ها به اسپینر استفاده میکنیم. و ز دستور SetDropDownViewResource برای  ایجاد یک حالت نمایشی  بهره میبریم .

دستور spinner.Adapter وظیفه اتصال Adapter  به spinner رو داره.و در نهایت از دستور spinner.ItemSelected یک نوع لیسنر برای اسپینر در نظر میگیریم تا زمان که بر روی هرکدام از ایتم ها کلیک شد پیامی در قالب Toast نمایش بده.(کده ای کامل MainActivity.cs).

 using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

//Appinapps.com
namespace Spineer_appinapps
{
[Activity (Label = "Spineer_appinapps", MainLauncher = true)]



public class MainActivity : Activity
{
//String
String[] items = new String[] { "Cupcake", "Donut", "Eclair", "Froyo",  "Gingerbread", "Ice Cream Sandwich", "Jellybean", "KitKat"};


//Appinapps.com
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);

//ArrayAdapter
ArrayAdapter ad = new ArrayAdapter(this,  Android.Resource.Layout.SimpleSpinnerItem, items);
ad.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);

Spinner spinner = FindViewById<Spinner>(Resource.Id.spinner1);
spinner.Adapter = ad;
spinner.ItemSelected += (sender, e) => {
var s = sender as Spinner;
Toast.MakeText(this, "My favorite is " + s.GetItemAtPosition(e.Position),  ToastLength.Short).Show();
};

}

}
}

موفق باشید...

فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد
درباره نویسنده
admin2
رضا نقی لو
androiddev60@gmail.com
نظرات شما
نظر جدید