tejariapp-new-logotejariapp-new-logotejariapp-new-logotejariapp-new-logo
  • صفحه اصلی
  • پروژه ها
    • پروژه طراحی سایت
    • پروژه های اندروید
    • پروژه های تحت ویندوز
    • UI & UX
    • ربات تلگرام
  • سفارش پروژه
    • انجام پروژه اندروید (Android)
    • طراحی و ساخت اپلیکیشن موبایل
    • انجام پروژه طراحی سایت با php
    • انجام پروژه طراحی سایت با Asp.net
    • انجام پروژه سی شارپ
    • فرم سفارش پروژه
  • مدرسه ی تجاری اپ
    • طراحی سایت
    • اندروید
    • سی شارپ
    • آموزش پایگاه داده
    • برنامه های کاربردی
  • لینک های مفید
    • پرداخت آنلاین
    • درباره تجاری اپ
    • تماس با ما
استخدام برنامه نویس متلب
سفارش پروژه
✕
            هیچ نتیجه ای یافت نشدمشاهده همه نتایج

            آموزش اندروید فصل سوم قسمت هشتم – رابط کاربری پویا

            • صفحه نخست
            • مدرسه ی تجاری اپ آموزش اندروید
            • آموزش اندروید فصل سوم قسمت هشتم – رابط کاربری پویا
            آموزش برنامه نویسی اندروید فصل سوم
            آموزش اندروید فصل سوم قسمت هفتم – Action bar
            7 تیر 1395
            آموزش برنامه نویسی اندروید فصل سوم
            آموزش اندروید فصل سوم قسمت نهم – ابزارهای نمایش
            9 تیر 1395
            منتشر شده توسط خانم منطق
            آموزش برنامه نویسی اندروید فصل سوم

            آموزش برنامه نویسی اندروید فصل سوم

            در قسمت بیست و ششم آموزش اندروید دررابطه با رابط های کاربری اندروید که به صورت پویا و با استفاده از برنامه نویسی بوجود می آید آموزش داده ایم همچنین متد های اکتیویتی را شرح داده ایم.

            آموزش اندروید فصل سوم قسمت هشتم – رابط کاربری پویا

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

            ایجاد رابط کاربری در زمان اجرا (به صورت برنامه نویسی)

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

            برای درک بیشتر پروژه جدیدی به نام UIPrj ایجاد کرده و در فایل MainActivity.java چنین کدنویسی میکنیم

            package com.example.uiprj;
            
            
            
            import android.os.Bundle;
            
            import android.app.Activity;
            
            import android.view.ViewGroup.LayoutParams;
            
            import android.widget.Button;
            
            import android.widget.LinearLayout;
            
            import android.widget.TextView;
            
            
            
            public class MainActivity extends Activity {
            
            
            
                    @Override
            
                    protected void onCreate(Bundle savedInstanceState) {
            
                             super.onCreate(savedInstanceState);
            
                             //setContentView(R.layout.activity_main);
            
                             //--param for views
            
                             LayoutParams params=
             new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
            
            
            
                             //--create layout
            
                             LinearLayout layout = new LinearLayout(this);
            
                             layout.setOrientation(LinearLayout.VERTICAL);
            
            
            
                             //--create a TextView
            
                             TextView tv=new TextView(this);
            
                             tv.setText("This is a TextView");
            
                             tv.setLayoutParams(params);
            
            
            
                             //--create a button
            
                             Button btn=new Button(this);
            
                             btn.setText("This is a Button");
            
                             btn.setLayoutParams(params);
            
            
            
                             //--adds the TextView
            
                             layout.addView(tv);
            
            
            
                             //--adds the Button
            
                             layout.addView(btn);
            
            
            
                             //--create a layout param for the layout
            
                             LinearLayout.LayoutParams layoutparam =
             new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
            
                             this.addContentView(layout, layoutparam);
            
                    }
            }
            

            حال برنامه را اجرا کرده ونتیجه را بدین صورت خواهیم دید.

            آموزش کاربردی اندروید-قسمت بیست و ششم

            روش کار

            در این برنامه همانگونه که مشاهده میکنید ابتدا ()onCreateView را به صورت کامنت درآورده ایم تا هنگام اجرا فایل activity_main.xml اجرا نشود و رابط کاربری ایجاد شده توسط برنامه نویسی اجرا شود. سپس یک شی LayoutParams برای استفاده به عنوان پارامتر layout در ابزارهای نمایش ایجاد  کرده ایم

            //--param for views
            
                             LayoutParams params=
             new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
            

            سپس یک شی LinearLayout را  برای اینکه ابزار های نمایش رادر برگیرد ایجاد میکنیم 

                          //--create layout
            
                             LinearLayout layout = new LinearLayout(this);
            
                             layout.setOrientation(LinearLayout.VERTICAL);
            

            سپس دو ابزار نمایش TextView و Button را بدین صورت ایجاد میکنیم

            //--create a TextView
            
                             TextView tv=new TextView(this);
            
                             tv.setText("This is a TextView");
            
                             tv.setLayoutParams(params);
            
            
            
                             //--create a button
            
                             Button btn=new Button(this);
            
                             btn.setText("This is a Button");
            
                             btn.setLayoutParams(params);
            

            حال آنهارا به layout که ایجاد کردیم بدین صورت اضافه میکنیم

            //--adds the TextView
            
                             layout.addView(tv);
            
            
            
                             //--adds the Button
            
                             layout.addView(btn);
            

            و یک شی LayoutParams برای استفاده از شی LinearLayout نیز ایجاد میکنیم

            //--create a layout param for the layout
            
                             LinearLayout.LayoutParams layoutparam =
             new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
            
                             this.addContentView(layout, layoutparam);
            

            در انتها نیز شی LinearLayout را به اکتیویتی اضافه میکنیم

            this.addContentView(layout, layoutparam);
            

            کنترل رویدادهای رابط کاربری

            تعاملات کاربر با رابط کاربری در دو سطح صورت میگیرد:سطح اکتیوتی و سطح view , در سطح اکتیویتی کلاس Activity متدهای موردنیاز رادر اختیار شما قرار میدهد.بعضی از این متد ها که میتوانید در اکتیویتی های خود از آن استفاده کنید شامل زیر  است:

            onKeyDown :وقتی کلیدی فشرده میشود که توسط هیچ viewیی از اکتیویتی تحت کنترل قرار نگرفته است.

            onKeyUp : وقتی کلیدی رها میشود که توسط هیچ viewیی از اکتیویتی تحت کنترل قرار نگرفته است.

            onMenuItemSelected : وقتی که گزینه ای از منو توسط کاربر انتخاب گردد(در ادامه بیشتر توضیح خواهیم داد)

            onMenuOpened :وقتی که پنل منو توسط کاربر باز میشود.

            استفاده از متد های موجود در اکتیویتی

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

            ابتدا پروژه جدیدی به نام UIActivityPrj ایجاد کرده و در فایل activity_main.xml آن چنین کدنویسی میکنیم

               

            </span></p>
            
            <TextView
            
                    android:id="@+id/textView1"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:text="Your Name" />
            
            
            
                <EditText
            
                    android:id="@+id/txt1"
            
                    android:layout_width="214dp"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignLeft="@+id/textView1"
            
                    android:layout_below="@+id/textView1"
            
                    android:ems="10" />
            
            
            
                <Button
            
                    android:id="@+id/btn1"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_below="@+id/txt1"
            
                    android:layout_marginTop="14dp"
            
                    android:layout_toLeftOf="@+id/button2"
            
                    android:text="Ok" />
            
            
            
                <Button
            
                    android:id="@+id/btn2"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignBottom="@+id/button1"
            
                    android:layout_centerHorizontal="true"
            
                    android:text="Cancel" />
            

            همانگونه که در عبارات فوق مشاهده میکنید ما ابزار های نمایش TextView , EditeText ,Button را به سادگی ایجاد کرده ایم.حال در فایل MainActivity.java نیز چنین کدنویسی میکنیم

            package com.example.uiactivityprj;
            
            
            
            import android.os.Bundle;
            
            import android.view.Menu;
            
            import android.widget.*;
            
            import android.view.KeyEvent;
            
            import android.app.Activity;
            
            
            
            public class MainActivity extends Activity {
            
            
            
                    @Override
            
                    protected void onCreate(Bundle savedInstanceState) {
            
                             super.onCreate(savedInstanceState);
            
                             setContentView(R.layout.activity_main);
            
                    }
            
            
            
                    @Override
            
                    public boolean onKeyDown(int keycode, KeyEvent event)
            
                    {
            
                             switch(keycode)
            
                             {                          
            
                             case KeyEvent.KEYCODE_DPAD_LEFT:
            
                                       Toast.makeText(getBaseContext(),
             "Left arrow was clicked", Toast.LENGTH_LONG).show();
            
                                       break;
            
            
            
                             case KeyEvent.KEYCODE_DPAD_DOWN:
            
                                       Toast.makeText(getBaseContext(),
             "Down arrow was clicked", Toast.LENGTH_LONG).show();
            
                                       break;
            
            
            
                             case KeyEvent.KEYCODE_DPAD_UP:
            
                                       Toast.makeText(getBaseContext(),
             "Up arrow was clicked", Toast.LENGTH_LONG).show();
            
                                       break;
            
            
            
                             case KeyEvent.KEYCODE_DPAD_RIGHT:
            
                                       Toast.makeText(getBaseContext(),
             "Right arrow was clicked", Toast.LENGTH_LONG).show();
            
                                       break;
            
                             }
            
                             return false;
            
                    }
            
            }
            

            پس از اجرای برنامه ابتدا متنی را درون EditeText نوشته سپس فلش پایین درپد جهت ها را فشرده و پیام مناسب را مشاهده کنید

            آموزش کاربردی اندروید-قسمت بیست و ششم

            روش کار

            وقتی که اکتیوتی شروع به کار میکند curser در حال چشمک زدن در EditText است چرا که این ابزار فوکوس شده. همانگونه که مشاهده میکنید در کلاس MainActivity متد KeyDown از کلاس Activity را پیاده سازی کردیم.

            در اندروید وقتی کلیدی فشار داده میشود, ابزارها یا viewهایی که در حالت فوکوس قرار دارند سعی میکنند تا این رویداد را خود کنترل یا Handle  کنند به طور مثال در تمرین فوق وقتی ابزار EditText درحالت فوکوس است و مایکی از کلید های حروف صفحه کلیدرا فشار میدهیم این ابزار رویداد اتفاق افتاده را کنترل میکند و حرف انتخاب شده در ابزار  EditText نمایش میدهد.حال اگر کلیدهای فلش بالا و پایین را فشار دهیم EditText دیگر نمیتواند از این رویدادها پشتیبانی کند پس این رویداد به اکتیویتی سپرده میشود و متد onKeyDown فراخوانی میگردد در این مثال کلید فشرده شده شناسایی میگردد و پیغام مربوط به آن نمایش داده میشود برای مثال وقتی فلش جهت پایین فشرده میشود دکمه ok فوکوس میشود و پیغام مربوط نیز نمایش داده میشود.

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

            مدرس : خانم مهندس داودی نژاد

            آموزش اندروید فصل سوم قسمت هفتم

            آموزش اندروید فصل سوم قسمت نهم

            اشتراک گذاری

            پست های مرتبط

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            30 بهمن 1400

            دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            30 بهمن 1400

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            توابع در زبان برنامه نویسی دارت (Dart)

            توابع در زبان برنامه نویسی دارت (Dart)

            27 بهمن 1400

            توابع در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب

            دیدگاهتان را بنویسید لغو پاسخ

            نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

            ساخت اپلیکیشن های موبایل

            • ساخت اپلیکیشن فروشگاهی
            • ساخت اپلیکشن ابزاری و خدماتی
            • ساخت اپلیکیشن آموزشی
            • و هزاران موضوع دیگر

             
            کلیک کنید

            آخرین دیدگاه ها

            • 7 خرداد 1401

              داودی نظر در آموزش استفاده از ckeditor همراه با آپلود عکس در لاراول 6

            • 6 فروردین 1401

              yasaman نظر در راست چین کردن متن در فیگما Figma

            • 3 فروردین 1401

              رضا نظر در مفاهیم Observable و Observer در RxJava

            تجاری اپ در شبکه های اجتماعی

            لوگوی تایید پرداخت آنلاین

            2015-2022 © تمامي حقوق مادي و معنوي اين وب سايت نزد تجاری اپ محفوظ بوده و هر گونه کپي برداري از مطالب پيگرد قانوني به همراه دارد! | طراح سایت : ProgRun
            سفارش پروژه
                      هیچ نتیجه ای یافت نشدمشاهده همه نتایج