سایر مقالات این دسته
تاریخچه و خصوصیات اندرویداجزای تشکیل دهنده سیستم عامل اندرویدآشنایی با API های اندرویدایجاد،ساخت و اجرای اولین برنامه اندرویدیکار با دکمه ها در اندرویدکار با تکست باکس ها در اندرویدکار با تکست ویو در اندرویدکار با گرید ویو در اندرویدکار با وب ویو در اندرویدکار با اسکرول ویو در اندرویدکار با اسکرول ویو افقیکار با الرت دیالوگ (AlertDialog)در اندرویدکار با ایمیج باتن(Image Button) در اندرویدکار با توگل باتنکار با چک باکس (Checkbox) در اندرویدکار با الرت دیالوگ (AlertDialog)در اندروید قسمت دوکار با ریتینگ بار(Rating bar) در اندرویدرفتن از یک اکتویتی به اکتویتی دیگرکار با نوتیفیکیشن ها (Notifications )در اندرویدکار با صوت در برنامه نویسی اندرویدکار با ویبره(Vibrator) در اندرویدکار با دوربین در اندرویدکار با دوربین در اندرویدکار با ویدیو ویو (VideoView)در اندرویدکار با شبکه وای فای (Wifi)در اندرویدکار با لیست ویو (ListView) در اندرویدکار با سیک بار (SeekBar) در اندرویدکار با دکمه بازگشت در اندرویدکار با AutoCompleteTextView در اندرویدتغییر فونت در اندرویدکار با لایه TableLayout در اندرویدکار با لیست کشویی (Spinner) در اندرویدکار با CalendarView در اندرویدساخت شمارنده در اندرویدکار با title bar در اندرویدکار با منو (Menu)در اندرویدکار با لیست ویو (Listview) قسمت دومطراحی رابط کاربری در اندروید قسمت اولطراحی رابط کاربری در اندروید قسمت دوم(طراحی گرد)کار با استایل در اندرویدکار با لایه AbsoluteLayout در اندرویدطراحی رابط کاربری در اندروید کار با gradientکار با کلیپ بورد(ClipBoard)در اندروید کار با مولتی تاچ(Multitouch ) در اندروید+سورس کدکار با OnLongClick در اندرویدکار با منوی زمینه (ContextMenu ) در اندرویدکار با حرکات (Gesture) در اندرویدکار با (AudioCapture) در اندروید+سورس کدکار با موتور Speech در اندروید + سورسکار با PhoneCall در اندرویدساخت لیست ویو سفارشی در اندروید+سورسساخت Toastسفارشی در اندرویدانتقال برنامه به حافظه sdکار با TextWatcher در اندروید+سورستغییر رنگ محیط Eclipse طراحی رابط کاربری در اندروید کار با Canvasساخت اکشن بار سفارشی در اندروید+سورسساخت الرت دیالوگ سفارشی در اندرویدساخت برنامه نمایش مقدار شارژ باتری در اندرویدایجاد افکت رنگی بروی تصاویر در اندروید+سورسساخت آپشن منوی سفارشی در اندروید+سورسساخت دکمه سه بعدی با Selectorسخنان بزرگان برنامه نويسيوارد كردن پروژه در محيط ايكليپساضافه کردن switch,case به لیست ویوبارش برف بروی تصویر + سورسکار با فیلتر hue رنگی کردن تصویر انتخاب و پخش فایل صوتی از حافظه گوشی+سورساضافه کردن چک باکس به لیست ویوکار با ShelfView یا نمایش کتابخانه ای + سورسکار با TabHost،اضافه کردن تب به برنامه های اندرویدآموزش کامل ساخت اکشن بار سفارشی+سورسساخت برنامه های واکنش گرا(ریسپانسیو) در اندرویدقسمت دوم صفحات 7 اینچ به بالااضافه کردن انیمیشن به دکمه+سورسکار با View Switcher در اندروید + سورسکار با فیلتر Blur Mask + سورسدانلود پک کامل آیکون های طراحی اندرویدکار با sharedPreferences در اندروید+سورسآموزش کار با proguard،محافظت از برنامه اندرویدپخش فایل صوتی (MP3) از ادرس اینترنتی+سورسپخش ویدیو از آدرس اینترنتی(URL) در اندروید+سورسگوشی های و تبلت های مطرح تا چینی به ساده ترین روشپاسخ به رویداد های WebVeiw دسترسی به وب ویو با استفاده از جاوااسکریپتساخت ExpandableListView به ساده ترین شکل+سورسکار با WIFI اکسس+سورسساخت تقویم هجری برای اندروید+سورسapp rateدانلود و نمایش تصویر در ListView+سورسدانلود و نمایش فایل متنی+سورسکار با کلاس های پایه اکتیویتیآینه کردن تصویر+سورسافزودن آیتم منو سفارشی بهActionBar+سورسارسال اطلاعات از دیتابیس به GridView + سورسدسترسی به Api هایREST قسمت اولتغییر فونت لیست ویوفعال سازی و معرفی بخش های Android developer options بخش اول کار با JSON در اندرویدآموزش ساده نصب شبیه ساز اندروید Genymotion

کار با تب منو (Tab Menu) در زامارین
1395/12/18

حلقه های تکرار در ++C
1395/11/20

اکشن بار در زامارین
1395/11/13

معرفی وب سرویس ها در زامارین
1395/11/12

عملگرها در زبان ++C
1395/11/06

کار با دکمه ها در اندروید


رضا نقی لو 1393/07/20

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

با توجه به توضیحات مختصری که در بالا در مورد باتن ها گفته شد،زمان ان رسیده که شروع کنیم به کار،اکلیپس رو باز میکنیم و یک پروژه جدید ایجاد می کنیم.(ساخت و اجرای اولین برنامه اندرویدی)

 

 

من یک پروژه با اسم Button ساختم،می بینید که در سمت چپ ایکلیپس بخش Pakege Explorer معماری نرم اافزار اندرویدی قرار داره  ما در پوشه Layout  یک فایل Xml به نام activity_main داریم،این فایل حاوی کدهای xml رابط کاربری اندروید است.با کلیلک بر روی این فایل یک صفحه سفید رنگ برای ما به نمایش در می اید،این صفحه سفید رنگ همان بخش طراحی رابط کاربری و لایه Activitiy اصلی برنامه ماست،با نگا کردن به قسمت پایین دو تا تب به نام های  Graphica Layout رو می بینیم که قسمت نمایشی و گراافیکی لایه ااکتیویتی رو نمایش میده و تب دومی activity_main.xml هست که  بخش کدهای و ویرایش دستی اون ها رو در اختیار ما قرار میده.

حالا یک باتن(دکمه) به برنامه خودمون اضافه می کنیم،برای این کار ما دوتا راه داریم یکی از طریق اضافه کردن Button از قسمت Palette هاست و قسمت بعدی از طریق نوشتن کد هست.اسان ترین و مناسب ترین راه استفاده از Palette هاست.Palette در فرهنگ لغت به معنی جعبه رنگ امیزی است

در برنامه نویسی اندروید هم ما برای  طراحی رابط کاربری برنامه از قسمت Palette زیاد استفاده خواهیم کرد.میتویند لیست پالت ها رو در سمت چپ صفحه سفید رنگ برنامه مشاهده بکنید.حالا کافی که بر روی یک Button کلیک کنید و اون رو به سمت صفحه سفید رنگ (activity_main.xml) بکشد و در هر قسمت از از لایه که خواستین رهاش کنید.

 

 

 

این طرحی رو که میبینید همون طرح گرافیکی نرم افزار ماست با کلیک بر روی تب activity_main.xml وارد قسمت کد نویسی دکمه میشیم.

 

به کدهای ابی رنگی که علامت گذاری کردم توجه کنید:این کد با تگ RelativeLayout شروع شده نشان دهنده نوع لایه استنفاده شده است،من در اینجا یک توضیح مختصری در مورد RelativeLayout می نویسم اما در قسمت های بعدی اموزش ها و در رسید سطوح بالاتر  به شرح کامل اون، مزایا و معایبش خواهیم پرداخت.

در برنامه نویسی اندروید طرح بندی های مختلفی وجود داره،این طرح بندی های تمامی اجزای سازنده رابط کاربری برنامه رو در بر میگیره،یکی از این طرح بندی ها  RelativeLayout هست.این طرح بندی از رایج ترین لایه های اندروید به حساب میاد و دلیل اون انعطاف پذیری بالای این لایه است.به عنوان مثال اگر بخواهیم از چندین دکمه در برنامه خود استفاده کنیم طوری که دکمه ها (button) به شکل مناسبی کنار هم، بالا و یا پایین قرار بگیرند RelativeLayout به ما این امکان رو میده که براحتی در قسمت Graphica Layout دکمه های خودمون رو قرار بدیم بدون استفاده از کد نویسی!!

بعد از اینکه با قسمت های مختلف یک لایه اشنا شدیم،وقت اون رسیده که  اجزای تشکیل دهنده یک دکمه رو با هم برسی کنیم

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

دکمه ما تشکیل شده از یک تگ با عنوان Button، درداخل این تگ کد android:id قرار دارد وظیفه این کد معرفی کردن یک شناسه به دکمه است،که در هنگام نوشتن یک رویداد برای دکمه مد نظر اختلالی در کارکرد دکمه ها و یا اجزای دیگر لایه بوجود نیاید.

خاصیت android:layout_width عرض دکمه ما را در لایه مشخص میکند(هر یک از اجزای گرافیکی اندروید دارای خاصیت عرض و ارتفاع هستند).در این جا مقدار خاصیت  android:layout_width="wrap_conten معرفی شده است،Wrap Content این امکان را به ما میدهم تا عرض و ارتفاع دکمه خود را با توجه به نام ان تغییر دهیم(می توانید در خاصیت android:text به جای کلمه Button که نام دکمه ما هست نام دیگری را جایگزین کنید،من در اینجا از نام AppinApps استفاده کردم،میبینید که طول و عرض دکمه با توجه به نام وارد شده تغییر کرده است،مقاادیر دیگری هم می توانیم به طول و عرض دکمه اضافه کنیم،به تصاویر زیر دقت کنید

 

 

 میبینید که با گرفتن هم زمان دکمه های Ctrl+Space بر روی کیبورد محیط ایکلیپس راهنمایی را برای راحتی و سرعت بخشیدن به کار برای ما معرفی میکند،این مقادیر که در تصویر بالا میبینیدfill_parent , match_parent  و wrap _contentهستند که هرکدام از این مقادیر خاصیت دکمه رو تغییر میدهند،من برای مثال Fill_parent رو انتخاب کردم،می بینیم که  عرض دکمه به اندازه عرض صفحه تغییر کرد(تصویر زیر)تمامی این مقادیر در خاصیت android:layout_height نیز استفاده می شوند.

 

 

خاصیت android:layout_centerHorizontal:این خاصیت اجزای مورد استفاده در لایه اصلی برنامه رو در مرکزیت افقی  قرار میدهد،خاصیت android:layout_centerVertical: نیز همانند خاصیت بالا در مرکزیت لایه قرار میگیرد ولی با این تفاوت که اینبار مرکزیت عمودی مد نظر است.یعنی هم در حالت عمودی و هم در حالت افقی دکمه ما در مرکز لایه قرار داشته باشد.

بعد از اینکه لایه های یک اکتیوتی رو بررسی کردیم حالا وقت اون رسیده که کد های جاوا اکتیوتیمون رو ببینیم و با نحوه عمل کردش اشنا بشیم،در سمت چپ محیط ایکلیپس بر روی فولدر Src کلیک کنید،در زیرشاخه اون پکیج برنامه ما وجود داره که این پکیج در بر گیرنده تمامی منابع کد های جاواست.بعد از بارکردن پکیج :می بینیم که یک فایل جاوا با نام MainActivitiy.java وجود دارد،این فایل حاوی کدهای جاواای نرم افزار اندرویدی ما رو تشکیل میده.

 

 

تصویر بالا  نمایی از کد های جاوای اکتیوتی ما رو نشون میده،این صفحه حاوی نام پکیج برنامه ،Import های برنامه که مسئول اینپورت کردن(وارد کردن) کدهای اندروید به جاوا و کلاس MainActivity است. دستور یا تابع  زیر:

 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

نقطه شروع نرم افزار اندرویدی است که توسط کد setContentView محل لایه رو شناسایی کرده و تمامی اجزای که در لایه هستند رو میتونه بشناسه،می بینیم که در اینجا محل لایه  R.layout.activity_main معرفی شده که به منبع جاوای ما میگه که اجزای سازنده رابط کاربری مثل دکمه ها (button)در این قسمت وجود داره.

حلا با این توصیفات می خواهیم یک کد به قسمت جاوای برنامه مون اضافه کنیم تا وختی که بر روی دکمه کلیلک میشه یک متن رو به ما نشون بده،اول از همه باید دکمه ای که در لایه مون قرار داره رو به کدهای جاوا اضافه کنیم(تصویر زیر) کدهای که من به برنامه اضافه کردم رو نشون میده.

 

 

 

این هم کدهای کامل بخش MainActivity.java

   //نام پکیج
   package com.appinapps.button;

   //اینپرت های کدهای اندروید در محیط جاوا
   import android.os.Bundle;
   import android.app.Activity;
   import android.view.Menu;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.Button;
   import android.widget.Toast;

   //شروع کلاس جاوای برنامه ما
   public class MainActivity extends Activity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   //معرفی دکمه وارد کردن نام و محل قرارگیری اون از لایه 
   Button btn = (Button) findViewById(R.id.button1);
   //این دستوردر هنگام کلیک کردن بر روی دکمه فراخوانی میشه و هر کدی رو که نوشته  باشم رو اجرا میکنه 
   btn.setOnClickListener(new OnClickListener() {

  @Override
  public void onClick(View v) {
  // TODO Auto-generated method stub
  //دستور توست برای نمایش یک متن کوتاه چند لحظه ای
  Toast.makeText(MainActivity.this, "سلام دوست من!!", Toast.LENGTH_LONG).show();
  }
  });

  }
  

.الان میتونید برنامه تون رو اجرا کنید و نحوه عملکردش رو ببینید


فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد
درباره نویسنده
admin2
رضا نقی لو
androiddev60@gmail.com
نظرات شما
نظر جدید
    User name
    ناشناس

    بسیار آموزشتان عالی و به جاست موفق باشید.

    1395/06/18 2:53 PM