آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

ساخت یک دکمه (Button) و تعیین کدهایی برای اجرا شدن در هنگام اشاره بر روی دکمه، در برنامه نویسی اندروید

در این مبحث قصد داریم که چگونگی تعریف یک دکمه (Button) و همچنین نحوه تعریف کدهایی برای اجرا شدن در هنگام اشاره بر روی دکمه (Button) را شرح بدهیم.

ابتدا باید در فایل xml متناظر با Activity ، یک دکمه (Button) تعریف کنیم. برای این منظور، کدهای زیر را در فایل xml می نویسیم :


<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />

بخش مهم کدهای فوق، id تعریف شده برای دکمه (Button) است که آن را برابر button1 انتخاب کرده ایم و برای ارجاع به دکمه به کار خواهد رفت. همچنین مقدار تعیین شده برای مشخصه text ، همان متنی است که بر روی دکمه نوشته خواهد شد.

به عنوان مثال، کدهای فایل xml می تواند به صورت زیر باشد (تنها شامل یک دکمه) :


<LinearLayout 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"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

بنابراین ظاهر گرافیکی فایل xml به صورت زیر خواهد بود (در برنامه eclipse) :

ساخت یک دکمه (Button) و تعیین کدهایی برای اجرا شدن در هنگام اشاره بر روی دکمه، در برنامه نویسی اندروید

همان طور که در عکس فوق مشاهده می کنید، در خود برنامه eclipse نیز گزینه ای برای ساخت دکمه (Button) وجود دارد که می توانید آن را با موس گرفته و به درون صفحه مربوط به ظاهر گرافیکی فایل xml بکشید و سپس موس را رها کنید تا دکمه در صفحه قرار بگیرد (سپس می توانید کدهای دکمه ساخته شده را مطابق میلتان ویرایش کنید).

به هر حال، یا با کپی کردن کد و یا از طریق گرافیکی در برنامه eclipse ، دکمه (Button) را در فایل xml می سازیم.

سپس باید در فایل java مربوط به Activity ، در کدهای روش onCreate (که به محض اجرای Activity ، اجرا می شوند)، کدهای مربوط به شناسایی دکمه (Button) و همچنین کدهای مربوط به زمانی که کاربر بر روی دکمه اشاره می کند (بعد از اشاره کاربر بر روی دکمه، یک سری کد اجرا شود) را بنویسیم. کدهای لازم به صورت زیر خواهد بود :


Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
                                 
    @Override
    public void onClick(View v) {
        // your code
    }
});

که به جای عبارت // your code باید کدهایی که می خواهیم بعد از اشاره کاربر بر روی دکمه، اجرا شوند را بنویسیم. ابتدا با روش findViewById ، دکمه را توسط id آن (یعنی button1) شناسایی کرده ایم و سپس با استفاده از روش setOnClickListener ، تعیین کرده ایم که بعد از اشاره کاربر بر روی دکمه (Button)، چه کدهایی اجرا شوند.

برای متوجه شدن محل قرارگیری این کدها در میان کدهای یک Activity ، به کدهای زیر توجه کنید (کدهای یک Activity را به عنوان مثال ذکر کرده ایم) :


package com.kelidestan.com;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;



public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        Button b = (Button) findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {
                                 
            @Override
            public void onClick(View v) {
                // your code
            }
       });
    }

   
}

همان طور که مشاهده می کنید، کدها در روش onCreate نوشته شده اند.

نویسنده علیرضا گلمکانی
شماره کلید 2728
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 7 7 0
amirali
۱۳۹۶/۱۰/۰۵
۱۴:۴۰

واقعا سایت عالی دارید. متشکرم از مطالب خوبتون
خسته نباشید ---<@

Developer
۱۳۹۷/۰۷/۲۶
۰۷:۵۲

با سلام ممنون از آموزش بسیاز زیباتون

Samyar
۱۳۹۷/۰۸/۱۳
۲۳:۲۷

داداش اگه بخام تو Aide قسمت جستجوبسازم بدون اینکه رواکشن بار قرار بگیرع چیکارکنم

H2ami2d
۱۳۹۸/۰۱/۱۴
۱۸:۱۲

عالی فقط اگه کدای find view by Id    رو هم میزاشتید عالی تر میشد

نرگس
۱۳۹۹/۰۸/۰۶
۰۹:۰۳

چجوری برای دکمه استارت کدنویسی کنم در درس مبتنی بروب که با زدن دکمه عکس ها حرکت کنند

sh
۱۴۰۰/۰۸/۱۰
۰۳:۳۳

یدونه تگ باتن بساز تو اچ‌تی‌ام‌ال‌ت بعد روش اتریبیوت انکلیک بزار که یدونه فانکشن خاص رو توی جاوا‌ اسکریپت صدا بزنه، بعد باقی کد هاتو توی فانکشن جاوااسکریپت بساز، فقط کافیه کد های سی‌اس‌اس یه اسلایدر یا هرچی که میخوایی رو داشته باشی، تا توی فانکشن‌ت با استفاده از دام استایل های جدید به المنت هایی که میخوایی بدی

Erfan
۱۳۹۹/۰۸/۲۰
۲۰:۵۹

چجوری دکمه رو در قسمت myGdxgame کارایی براش تعریف کنم؟

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)