کنترل های واسط کاربری اندروید (Android UI Controls )

کنترل های ورودی ، کنترل های تعاملی بین کاربر و برنامه ی اندرویدی هستند که در رابط کاربری برنامه ی اندرویدی شما قرار میگیرند . Android طیف وسیعی از این کنترل ها را برای توسعه دهندگان اندرویدی فراهم کرده است مانندbuttons, text fields, seek bars, check box, zoom buttons, toggle buttons, و بسیاری موارد دیگر.

یک View شی است که چیزی را بر روی صفحه ترسیم می کند که کاربر می تواند با آن تعامل کند و یک ViewGroup شی است که سایر اشیا View ها (و ViewGroup) را به منظور تعریف Layout واسط کاربری، در بر می گیرد.

شما layout خود را در یک فایل XML تعریف می کنید که یک ساختار قابل خواندن به وسیله­ ی انسان، شبیه به HTML را برای layout ارائه می دهد.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   
   <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="I am a TextView" />
   
   <Button android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="I am a Button" />
</LinearLayout>

کنترل های واسط کاربری اندروید

تعداد زیادی کنترل وجود دارد که به توسعه دهنده اندرویدی کمک میکند که رابط کاربری خود را با استفاده از آنها تولید کند:
شماره کنترل واسط کاربری و توصیف
1
TextView
برای نمایش دادن یک متن ساده کاربرد دارد.
2 EditText 

یک زیر کلاس از پیش تعریف شده از TextView است که دارای قابلیت های ویرایش متنی غنی است.

3 AutoCompleteTextView  AutoCompleteTextView، View ای است که شبیه به EditText است. به استثنای اینکه، این کنترل به صورت اتوماتیک لیستی از پیشنهاد های تکمیل متن را، در زمان تایپ کردن کاربر نمایش می دهد.
4 Button

یک کلید قابل فشار دادن، که می تواند برای انجام کاری، به وسیله­ی کاربر فشرده شده یا کلیک شود.

5 ImageButton 

این کنترل شما را قادر میسازد تا مکان دقیق فرزندان آن را تعیین کنید.

6 CheckBox 

یک گزینه خاموش/روشن که می تواند به وسیله­ کاربر انتخاب شود. شما باید از checkboxe ها زمانی استفاده کنید که مجموعه ای از گزینه های قابل انتخاب را به کاربر ارائه میدهد که دو به دو ناسازگار نیستند.

7 ToggleButton 

یک دکمه خاموش/روشن همراه با یک نورنما

8 RadioButton 

RadioButton دارای دو وضعیت است : انتخاب شده یا انتخاب نشده

9 RadioGroup

یک RadioGroup برای گروه بندی یک یا تعداد بیشتری از RadioButton ها به کار می رود.

10 ProgressBar

این کنترل یک بازخورد بصری را در مورد کارهای در حال پیشرفت نمایش می دهد. مانند زمانی که شما یک کار را در پس زمینه اجرا می کند.

11 Spinner

یک لیست پایین رونده که به کاربران اجازه می دهد تا یک مقدار را از بین یک مجموعه انتخاب کنند.

12 TimePicker 

کنترل TimePicker کاربر را قادر می سازد تا یک زمان در روز را به صورت فرمت 24 ساعته یا فرمت AM/PM انتخاب کنند.

13 DatePicker 

کنترل DatePicker کربران را قادر می سازد تا تاریخِ روز را انتخاب کنند.

ایجاد کنترل های واسط کاربری

اندروید ، طیف عظیمی از کنترل ها را برای توسعه دهنده فراهم کرده است که بوسیله  آنها یک رابط کاربری کامل را برای استفاده کنندگان اپلیکیشن خود ارائه دهند . مانند : buttons, text fields, seek bars, check box, zoom buttons, toggle buttons و خیلی بیشتر …
همان طور که در فصل قبلی نیز گفتیم ! هر View که در اندروید میسازیم دارای یک خصیصه به نام آیدی هست که شناسنامه ی آن View هست و آنرا از بقیه تفکیک می کند برای تعریف آیدی برای هر View نیز از کد زیر برای آن View استفاده می کنیم :
android:id="@+id/text_id"

برای ایجاد یک Control/View/Widget واسط کاربری شما باید یک view/widget را در فایل Layout تعریف کنید و یک شناسه منحصر به فرد را به صورت زیر به آن تخصیص دهید.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   
   <TextView android:id="@+id/text_id"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="I am a TextView" />
</LinearLayout>

سپس در نهایت یک نمونه از شی Control را ایجاد کنید و آن را با استفاده از دستور زیر، از layout بگیرید.

TextView myText = (TextView) findViewById(R.id.text_id);