شرح Spinner في الاندرويد

برنامج Spinner التعليمي مع أمثلة في Android Studio

في Android ، يوفر Spinner طريقة سريعة لتحديد قيمة واحدة من مجموعة من القيم. Spinners Android ليست سوى القائمة المنسدلة التي تظهر في لغات البرمجة الأخرى. في الحالة الافتراضية ، يعرض القرص Spinner القيمة المحددة حاليًا. يوفر طريقة سهلة لتحديد قيمة من قائمة القيم.

Spinner في أندرويد
في Simple Words ، يمكننا القول أن Spinner يشبه صندوق التحرير والسرد لـ AWT أو التأرجح حيث يمكننا تحديد عنصر معين من قائمة العناصر. Spinner هي فئة فرعية من فئة AsbSpinner.

ملاحظة مهمة: يرتبط Spinnerبعرض المحول ، لذا لملء البيانات في قائمة Spinner ، نحتاج إلى استخدام أحد فئة المحول .

فيما يلي رمز XML الأساسي لـ Spinner:

	<Spinner
	android:id="@+id/simpleSpinner "
	android:layout_width="fill_parent"
	android:layout_height="wrap_content" />
  
  

ملاحظة مهمة: لملء البيانات في قائمة Spinner ، نحتاج إلى تنفيذ فئة محول . يستخدم Spinner بشكل أساسي لعرض حقل النص فقط حتى نتمكن من تنفيذ Array Adaptor لذلك. يمكننا أيضًا استخدام Base Adaptor والمحولات المخصصة الأخرى لعرض قائمه Spinner مع قائمة تخصيص أكثر. لنفترض إذا كنا بحاجة لعرض textview و imageview في قائمة البند Spinner ثم محول مجموعة ليست كافية لذلك. هنا يتعين علينا تنفيذ محول مخصص في فئتنا. الصورة أدناه من Spinner و Custom Spinner ستجعلها أكثر وضوحًا.

سبينر مخصص في Android
ArraryAdapter:

المحول هو جسر بين مكون واجهة المستخدم ومصدر البيانات الذي يساعدنا على ملء البيانات في مكون واجهة المستخدم. إنه يحتفظ بالبيانات ويرسل البيانات إلى عرض المحول ، ثم يمكن للعرض أن يأخذ البيانات من عرض المحول ويعرض البيانات على طرق عرض مختلفة مثل عرض القائمة ، عرض الشبكة ، الدوار. عندما يكون لديك قائمة بالعناصر الفردية المدعومة بمصفوفة ، يمكنك استخدام Array Adaptor.

فيما يلي رمز ArrayAdapter في Android:

	ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
  
  

مثال على Spinner في Android Studio:

المثال 1: أدناه هو المثال الذي نعرض فيه قائمة بأسماء البنوك في قائمة منسدله Spinner وكلما حددت عنصرًا ، سيتم عرض القيمة باستخدام الخبز المحمص على شاشة الهاتف المحمول. فيما يلي الناتج النهائي والكود:

تحميل الكود ؟

مثال Spinner في Android باستخدام ArrayAdapter
الخطوة 1: قم بإنشاء مشروع جديد في Android Studio وقم بتسميته SpinnerExample.

حدد ملف -> جديد -> مشروع جديد ->. املأ الاستمارات وانقر فوق الزر "إنهاء".

الخطوة 2: افتح res -> layout -> activity_main. xml (أو) main. xml  وأضف الكود التالي. سنقوم هنا بإنشاء Spinner داخل النسق النسبي .

	<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:paddingBottom="@dimen/activity_vertical_margin"
	android:paddingLeft="@dimen/activity_horizontal_margin"
	android:paddingRight="@dimen/activity_horizontal_margin"
	android:paddingTop="@dimen/activity_vertical_margin"
	tools:context=".MainActivity">

	<Spinner
	android:id="@+id/simpleSpinner"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:layout_centerHorizontal="true"
	android:layout_marginTop="100dp" />

	</RelativeLayout>
  

الخطوة 3: الآن افتح app-> java -> package -> MainActivity. java وأضف الكود التالي. هنا سوف نستخدم ArrayAdapter لملء البيانات في Spinner. كما أننا نستخدم Toast للعرض عند تحديد العنصر في Spinner.

	package example.abhiandriod.spinnerexample;

	import android.support.v7.app.AppCompatActivity;
	import android.os.Bundle;
	import android.view.View;
	import android.widget.AdapterView;
	import android.widget.ArrayAdapter;
	import android.widget.Spinner;
	import android.widget.Toast;

	public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{

	String[] bankNames={"BOI","SBI","HDFC","PNB","OBC"};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	//Getting the instance of Spinner and applying OnItemSelectedListener on it
	Spinner spin = (Spinner) findViewById(R.id.simpleSpinner);
	spin.setOnItemSelectedListener(this);

	//Creating the ArrayAdapter instance having the bank name list
	ArrayAdapter aa = new ArrayAdapter(this,android.R.layout.simple_spinner_item,bankNames);
	aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
	//Setting the ArrayAdapter data on the Spinner
	spin.setAdapter(aa);
	}


	//Performing action onItemSelected and onNothing selected
	@Override
	public void onItemSelected(AdapterView<?> arg0, View arg1, int position,long id) {
	Toast.makeText(getApplicationContext(), bankNames[position], Toast.LENGTH_LONG).show();
	}

	@Override
	public void onNothingSelected(AdapterView<?> arg0) {
	// TODO Auto-generated method stub

	}
	}
  
  

المخرج :

الآن قم بتشغيل البرنامج في Emulator وسترى خيارات للاختيار من بين أسماء البنوك الموجودة داخل القائمة المنسدلة. سترى أيضًا رسالة Toast تظهر على الشاشة عندما تختار البنك المعين.

ناتج Spinner في Android Studio