کنترل های ورودی در زامارین در این سری از آموزشهای قدم به قدم با مونو با کنترل های ورودی در زامارین آشنا خواهیم شد.مطمئنآ اکثر برنامه ی که نوشته می شوند اهدافی نظیر جمع آوری اطلاعات یا نمایش اطلاعات را دارند در این جهت تمام زبانها برای دست یافتن به این هدف کنترل های زیادی را بوجود آوردن زامارین هم تعداد زیادی کنترل در خود دارد که از قسمت Toolbox می توانید آنها را پیدا کنید. این کنترل ها جهت نمایش اطلاعات ، گرفتن اطلاعات از کاربر و غیره قابل استفاده می باشند
که در زیر لیستی از کنترل های ورودی مهم در زامارین آورده شده است.

  1. EditText

    • -Date
    • -Email
    • -Multiline Text
    • -Number
    • -Password
    • -Person Name
    • -Phone
    • -Postal
  2. CheckBox
  3. RadioButton
  4. ToggleButton
  5. RatingBar

در این آموزش ما با کنترل ورودی EditText آشنا خواهیم شد.EditText همان TextBox هستند.

کنترل ورودی EditText

EditText یکی از شایع ترین کنترل ها جهت وارد کردن متن در اندروید است. زمانی که شما لایه ای را در پروژه خود باز می کنید و به پنجره ToollBox ویژوال استادیو نگاه می اندازید در تب TextFields کنترلی وجود دارد به نام Plain Text آن را به داخل لایه خود کشیده و نتیجه برنامه را بعد از اجرا نگاه کنید
کنترل های ورودی در زامارین
شما میتوانید برای اینکه برای هر ورودی که نیاز دارید تا کاربر اطلاعاتی را وارد کند از کنترل TextView استفاده نمایید این کنترل همانند Label است .
کنترل های ورودی در زامارین
خوب حالا یک نگاه به قسمت کدهای این لایه می اندازیم

<?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">
    <TextView android:text="Enter your name"
              android:textAppearance="?android:attr/textAppearanceLarge"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:id="@+id/textView1" />
    <EditText android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:id="@+id/editText1" />
</LinearLayout>

خاصیت های EditText

تمام کنترل های اندروید علاوه بر خصوصیت های مشترک بکسری خصوصیت مخصوص به خود را دارند که در زیر چندتای آنها گفته شده است

  • android:hint : متن و توضیحی که در داخل کنترل نوشته شده و بعد از انتخاب توسط کاربر پاک خواهد شد
  • android:maxLength : طول مجاز متن در کنترل
  • android:inputType : نوع کنترل ورودی شمال (کلمه عبور – فقط عددی و غیره)
  • android:enabled : فعال و غیر فعال شدن کنترل (تمامی کنترل ها این خصوصیت را دارا می باشند)
  • android:visibility : جهت نمایش یا مخفی کردن کنترل از دید کاربر (تمامی کنترل ها این خصوصیت را دارا می باشند)

جهت آشنایی بیشتر با این کنترل ها به مثال زیر توجه کنید
کنترل های ورودی در زامارین

<?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">
    <TextView android:text="Enter your name"
              android:textAppearance="?android:attr/textAppearanceLarge"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:id="@+id/textView1" />
    <EditText android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:id="@+id/editText1"
              android:hint="Enter your full name"
              android:padding="12dp"
              android:maxLength="5"
              android:inputType="textAutoCorrect"
              android:enabled="true"
              android:visibility="visible" />
</LinearLayout>

رخداد (Events) در کنترل ها

تمامی کنترل های  اندروید علاوه بر خصوصیت شامل یکسری رخداد هستند که در زمانهای خاصی اتفاق می افتند در زیر با چندتا از رخداد ها در کنترل ورودی آشنا خواهید شد

  • KeyPress : زمانی که کاربر کلیدی را فشار دهد
  • Click : زمانی که کاربر بر روی کنتر ل کلیک نماید
  • LongClick : زمانی که کاربر بر روی کنترل کلیک طولانی نماید
  • TextChanged : زمانی که متن کنترل تغییر نماید

به مثال زیر توجه نمایید طریقه ایجاد و تخصیص یک رخداد برای یک کنترل در مثال زیر نمایش داده شده است

using Android.App;
using Android.OS;
using Android.Views;
using Android.Widget;

namespace FunWithControls
{
    [Activity(Label = "FunWithControls", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            var editText = this.FindViewById<EditText>
    (Resource.Id.editText1);

    editText.KeyPress += editText_KeyPress;
    }

    void editText_KeyPress(object sender, View.KeyEventArgs e)
    {
    e.Handled = true;
    Toast.MakeText(this, "You typed something", ToastLength.Short);
    }
    }
    }
    

مدل های کنترل های ورودی

خود کنترل ورودی شامل چند نوع دیگر جهت انتخاب است که شما با تغییر خصوصیت inputType می توانید بستگی به سیاست از آن استفاده نمایید

  •  Date Text : جهت وارد کردن فرمت تاریخ است و از ورود فرمتهای دیگر جلوگیری می کند
  • Email Text : فقط فرمت ایمیل را قبول می کند
  • Multineline Text: شما می توانید با اینتر متن چند خطی را وارد نمایید
  • Number Text : فقط فرمت عدد را قبول می کند
  • Password Text : کلمات وارد شده به شکل دایره نمایش داده خواند شد

در مثال زیر از تمامی فرمتهای کنترل ورودی استفاده شده است

<?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">
        <TextView android:text="Enter your name"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/textView1" />
        <EditText android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/editText1"
                  android:hint="Enter your full name"
                  android:padding="12dp"
                  android:maxLength="5" />
        <TextView android:text="Date Text"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/textView2" />
        <EditText android:inputType="date"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/editText2" />
        <TextView android:text="Email Text"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/textView3" />
        <EditText android:inputType="textEmailAddress"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/editText3" />
        <TextView android:text="Multiline Text"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/textView4" />
        <EditText android:inputType="textMultiLine"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/editText4"
                  android:minLines="3" />
        <TextView android:text="Number Text"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/textView5" />
        <EditText android:inputType="number"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/editText5" />
        <TextView android:text="Password Text"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/textView6" />
        <EditText android:inputType="textPassword"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/editText6" />
        <TextView android:text="Phone Text"
                  android:textAppearance="?android:attr/textAppearanceLarge"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/textView7" />
        <EditText android:inputType="phone"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:id="@+id/editText7" />
    </LinearLayout>
    

کنترل های ورودی در زامارین
در آموزشهای بعدی با بقیه کنترل های اندرود آشنا خواهیم شد

25 پست
محمدزاده
سابقه 10 ساله برنامه نویسی مایکروسافت شامل C# , WPF , ASP.Net , Asp.Net Mvc و چند سال اندروید کار کردم تا اینکه زامارین دست به کار شد الان 3 ساله برنامه های اندرویدم رو با ویژوال استادیو مینویسم و لذت میبرم و دوست دارم این لذت رو با دیگران شریک باشم
برچسب ها: , , , , , , , , , , , ,
مطالب مرتبط
مطالب نویسنده
مطالب مشابه
آشنایی با Services در زامارین آشنایی با Services در زامارین | روز ۱۳ پنج شنبه ۲۱ آبان ۱۳۹۴
مونو اندروید Activities در زامارین | روز ۱۱ چهارشنبه ۲۰ آبان ۱۳۹۴
دیدگاه کاربران

برای نوشتن دیدگاه میتوانید به حساب کاربری خود وارد شوید ورود ارسال نظر بصورت مهمان
ارسال نظر (مهمان):