صفحات

dimanche 27 octobre 2013

الأزرار

بسم الله الرحمـــن الرحيم:
نصل إخواني إلى المرحلة "التفاعلية" مع تطبيقاتنا،وسنبدأ بالأزرار
أنواع الأزرار:
الزر هو مكون المكونات التي تسمح للمستعمل التفاعل مع التطبيق،فهي عند "لمسها" تستدعي القيام بعملية ما أي ترسل حدثا .سنرى فيما بعد كيف كيف نستجيب لهذه الأحداث.
يمكن لنا أن نضع نصا داخل الزر أو صورة (أيقونة) أو هما معا.
في ملف xml :
زر بنص:
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_text"
    ... />

زر بأيقونة:

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/button_icon"
    ... />

لاحظوا هنا استعملنا الفئة ImageButton .

زر بنص و أيقونة:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_text"
    android:drawableLeft="@drawable/button_icon"
    ... />

الإستجابة لأحداث لمس الزر:

نقصد بالإستجابة لأحداث الزر،هو عندما يتم لمس الزر ماهي العملية التي نريد القيام بها،مثلا إرسال رسالة،فتح مجلد،إطفاء الهاتف.....

ومن أجل فعل ذلك،هناك طريقتان،الأولى تقتضي أن نحدد داخل ملف xml اسم الدالة التي يجب استدعائها عند لمس الزر مثلا سنرسل رسالة عند لمس الزر التالي:

<Button xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/button_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage" />

هنا نستخدم الخاصية android:onClick ثم نحدد اسم الدالة،لكن أين يجب أن تتواجد هذه الدالة؟

يجب أن تكون في كلاس الـActivity المرتبطة بملف الxml الذي يضم هذا الزر،ويجب أن تكون صيغتها على الشكل التالي:

public void sendMessage(View view) {
    // Do something in response to button click
}

ويجب أن تكون الدالة علنية(public) ثم أن تكون القيمة التي تنتجها هي لاشيء (void) و يكون البارامتر الوحيد الذي تأخذه هو من فئة View.

أما الطريقة الثانية فتقتضي أولا أن يكون للدالة معرِِّف (id) والذي من خلاله يمكن معرفة الزر،ثم بعد ذلك في كلاس ال Activity نعرف كائنا من فئة Button كمايلي:

Button button = (Button) findViewById(R.id.button_send);

وهذا الزر هو نفسه الزر الذي أنشأناه في ملف الXML .

الدالة findViewById تبحث في عن العناصر باستعمال معرٍّفها.

بعد ذلك،نستدعي الدالة setOnClickListener للزر كما يلي

button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Do something in response to button click
    }
});

داخل الدالة onClick نضع الإجراءات التي نريدها عند لمس الزر.

0 commentaires:

Enregistrer un commentaire