menu

ادیت تکست (EditText) در اندروید

با EditText ها و خصوصیات و ویژگی های آن بیشتر آشنا شوید


EditText برگرفته شده از کلاس "TextView" می باشد با این تفاوت که امکان ویرایش متن وجود دارد و به عنوان ورودی متن از آن استفاده می شود.

خصوصیات مهم EditText ها

ادیت تکست ها نیز شامل خصوصیات بسیاری هستند که با مهم ترین و پرکاربرد ترین آن ها آشنا می شویم:

خصوصیت توضیح
android:id یک شناسه که به صورت یکتا می باشد.
android:layout_width میزان عرض لایه را مشخص می کند و می تواند دارای سه حالت "fill parent"، "match parent" و "wrap content" و یا مقدار مشخص بگیرد.
android:layout_height میزان ارتفاع لایه را مشخص می کند و می تواند دارای سه حالت "fill parent"، "match parent" و "wrap content" و یا مقدار مشخص بگیرد.
android:background یکی دیگر از خصوصیات تکست ویو ها "android:background" می باشد که به وسیله آن می توان پس زمینه ادیت تکست را تغییر داد.
android:gravity با خصوصیت "android:gravity" نیز می توان متن ادیت تکست را به جهات مختلف از جمله وسط، راست ، چپ و ... برد.
android:text می توان متن پیش فرض مورد نظر خود را برای یک ادیت تکست قرار داد.
android:textColor برای تغییر رنگ متن ادیت تکست از آن استفاده می شود.
android:textSize برای تغییر اندازه متن ادیت تکست استفاده می شود و واحد آن بر حسب sp و dp است.
android:textStyle برای تغییر استایل متن ادیت تکست استفاده می شود که دارای سه حالت normal، bold , italic می باشد.
android:typeface برای تغییر تایپ فیس متن ادیت تکست از این خصوصیت استفاده می شود که به صورت پیش فرض دارای چهار تایپ فیس normal، sans، serif و monospace می باشد.
android:hint هرگاه بخواهیم یک متن به صورت پیش فرض برای نمونه و راهنمایی کاربر قرار داشته باشد و به هنگام اضافه کردن متن دلخواه پنهان شود مورد استفاده قرار می گیرد.
android:inputType با استفاده از این خصوصیت می توانید نوع ورودی ادیت تکست را کنترل کنید. به عنوان مثال برروی "text" یا "number" قرار دهید که در این صورت در حالت اول تنها می توانید متن وارد نمایید و در حالت دوم تنها می توانید از اعداد استفاده کنید.

آموزش استفاده از EditText

در این قسمت قصد داریم همراه یک مثال نحوه استفاده از EditText ها را به شما آموزش دهیم. همچنین نحوه معرفی یک EditText به اشاره گر جاوا را نیز فرا خواهیم گرفت. این برنامه قادر است متن وارد شده داخل ادیت تکست را برای شما در یک تکست ویو چاپ کند و نمایش دهد.

مراحل انجام کار

  • 1 - ابتدا مطابق با آموزش ساخت اولین پروژه اندرویدی یک پروژه جدید بسازید و و یک نام دلخواه برای آن قرار دهید.
  • 2 - فایل MainActivity.java را باز کرده و کدهای جدید نوشته شده موجود در آموزش را در آن اضافه نمایید.
  • 3 - کدهای مربوط به لایه طراحی شده در آموزش را جایگزین کدهای لایه پروژه خود کنید.
  • 3 - پروژه را اجرا نموده و برروی شبیه ساز آن را تست کنید.

MainActivity.java

          
 package com.izarebin.edittext;

 import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v7.app.AppCompatActivity;
 import android.widget.TextView;
 import android.widget.Button;
 import android.widget.EditText;
 import android.view.View;


 public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.edittext);
        
        // تعریف و معرفی عناصر به اشاره گر جاوا
        final TextView txttitle = (TextView) findViewById(R.id.txtid);
        final EditText edtinput = (EditText) findViewById(R.id.edtinput);
        Button btnchange = (Button) findViewById(R.id.btnchange);
       
        btnchange.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // دریافت متن ورودی توسط کاربر
                String str = edtinput.getText().toString();
                // نمایش متن وارد شده در تکست ویو
                txttitle.setText(str);
            }
        });
    }
 }        
          

edittext.xml

          
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="16dp">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="100dp"
        android:text="Android Tutorial"
        android:id="@+id/txtid"
        android:gravity="center"
        android:textColor="#000"
        android:textSize="24dp"/>

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:id="@+id/edtinput"
        android:layout_below="@+id/txtid"
        android:background="#e7e7e7"
        android:hint="Hello World" />

    <Button
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:text="Change Text"
        android:id="@+id/btnchange"
        android:layout_below="@+id/edtinput"
        android:layout_margin="20dp" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Powered by iZarebin Academy"
        android:id="@+id/textView2"
        android:gravity="bottom|center_horizontal"
        android:textColor="#000"
        android:textSize="18dp"
        android:layout_alignParentBottom="true" />

 </RelativeLayout>    
          

شکل پروژه پس از اجرا به صورت زیر خواهد بود:

edittext.png
برای تمرین و یادگیری بیشتر کار با EditText های اندروید پیشنهاد می کنیم سایر خصوصیات گفته شده را نیز استفاده نمایید و تغییرات اعمال شده را مشاهده کنید.