ساخت یک دکمه (Button) و تعیین کدهایی برای اجرا شدن در هنگام اشاره بر روی دکمه، در برنامه نویسی اندروید
در این مبحث قصد داریم که چگونگی تعریف یک دکمه (Button) و همچنین نحوه تعریف کدهایی برای اجرا شدن در هنگام اشاره بر روی دکمه (Button) را شرح بدهیم.
ابتدا باید در فایل xml متناظر با Activity ، یک دکمه (Button) تعریف کنیم. برای این منظور، کدهای زیر را در فایل xml می نویسیم :
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
بخش مهم کدهای فوق، id تعریف شده برای دکمه (Button) است که آن را برابر button1 انتخاب کرده ایم و برای ارجاع به دکمه به کار خواهد رفت. همچنین مقدار تعیین شده برای مشخصه text ، همان متنی است که بر روی دکمه نوشته خواهد شد.
به عنوان مثال، کدهای فایل xml می تواند به صورت زیر باشد (تنها شامل یک دکمه) :
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) :
همان طور که در عکس فوق مشاهده می کنید، در خود برنامه eclipse نیز گزینه ای برای ساخت دکمه (Button) وجود دارد که می توانید آن را با موس گرفته و به درون صفحه مربوط به ظاهر گرافیکی فایل xml بکشید و سپس موس را رها کنید تا دکمه در صفحه قرار بگیرد (سپس می توانید کدهای دکمه ساخته شده را مطابق میلتان ویرایش کنید).
به هر حال، یا با کپی کردن کد و یا از طریق گرافیکی در برنامه eclipse ، دکمه (Button) را در فایل xml می سازیم.
سپس باید در فایل java مربوط به Activity ، در کدهای روش onCreate (که به محض اجرای Activity ، اجرا می شوند)، کدهای مربوط به شناسایی دکمه (Button) و همچنین کدهای مربوط به زمانی که کاربر بر روی دکمه اشاره می کند (بعد از اشاره کاربر بر روی دکمه، یک سری کد اجرا شود) را بنویسیم. کدهای لازم به صورت زیر خواهد بود :
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// your code
}
});
که به جای عبارت // your code باید کدهایی که می خواهیم بعد از اشاره کاربر بر روی دکمه، اجرا شوند را بنویسیم. ابتدا با روش findViewById ، دکمه را توسط id آن (یعنی button1) شناسایی کرده ایم و سپس با استفاده از روش setOnClickListener ، تعیین کرده ایم که بعد از اشاره کاربر بر روی دکمه (Button)، چه کدهایی اجرا شوند.
برای متوجه شدن محل قرارگیری این کدها در میان کدهای یک Activity ، به کدهای زیر توجه کنید (کدهای یک Activity را به عنوان مثال ذکر کرده ایم) :
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 نوشته شده اند.
واقعا سایت عالی دارید. متشکرم از مطالب خوبتون
خسته نباشید ---<@
با سلام ممنون از آموزش بسیاز زیباتون
داداش اگه بخام تو Aide قسمت جستجوبسازم بدون اینکه رواکشن بار قرار بگیرع چیکارکنم
عالی فقط اگه کدای find view by Id رو هم میزاشتید عالی تر میشد
چجوری برای دکمه استارت کدنویسی کنم در درس مبتنی بروب که با زدن دکمه عکس ها حرکت کنند
یدونه تگ باتن بساز تو اچتیامالت بعد روش اتریبیوت انکلیک بزار که یدونه فانکشن خاص رو توی جاوا اسکریپت صدا بزنه، بعد باقی کد هاتو توی فانکشن جاوااسکریپت بساز، فقط کافیه کد های سیاساس یه اسلایدر یا هرچی که میخوایی رو داشته باشی، تا توی فانکشنت با استفاده از دام استایل های جدید به المنت هایی که میخوایی بدی
چجوری دکمه رو در قسمت myGdxgame کارایی براش تعریف کنم؟