بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

کلیک روی یکی از خانه ها در پروژه 2048 ( مثل باززی آفتابه )

مدیریت گفتگو
AG255 11 سال پیش
آخرین تغییر: 11 سال پیش

چطور کلیک کنیم روی یکی از عکسها تا یه اکتیویتی دیگه ای باز بشه ...

مخصوصا تو پروژه 2048

 

 

 


     @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        //canvas.drawCircle(100, 100, 20, paint);
        int size = width / 5;
        int padding = 5;
        for (i = 0; i < 5; i++) {
            for (j = 0; j < 5; j++) {
                Rect rect = new Rect(i * size + padding, j * size + padding, (i + 1) * size - padding, (j + 1) * size - padding);
                canvas.drawRect(rect, paint);

                /*
                                switch (i) {
                                    case 1:
                                        Toast.makeText(G.co, "test : 1", Toast.LENGTH_SHORT).show();
                                        break;
                                    case 2:
                                        Toast.makeText(G.co, "test : 2", Toast.LENGTH_SHORT).show();
                                        break;
                                    case 3:
                                        Toast.makeText(G.co, "test : 3", Toast.LENGTH_SHORT).show();
                                        break;
                                    case 4:
                                        Toast.makeText(G.co, "test : 4", Toast.LENGTH_SHORT).show();
                                        break;
                                }

                                /*  if (i == 1 && j == 1) {
                                      paint.setColor(Color.parseColor("#010101"));
                                  }*/
            }
        }

    }

نظرات

AG255 11 سال پیش
فقط کد onclicklisener رو میخوام براش تعریف کنیم آیا کسی از دوستان بلد هست
amiryaser 11 سال پیش
به سادگی ... اول ایمیج ویو هاتو تعریف میکنی ، بعد براشون onclick listener تعریف میکنی ، داخل هر کدوم intent مربوط به اکتیویتی که قراره با کلیک به اونجا بره رو میسازی و استارت اکتیویتی میکنی همین... اگه متوجه نشدی بگو کد سمپل بذارم
AG255 11 سال پیش
چطوری اون 16 تا هر کدومش جدا دکمه تعریف کنیم مشکل اینجاست چون همش شده یک custum & library views
AG255 11 سال پیش
بعد چون متغیر int هست چطوری برای onclicklisener تعریف کنم چون متغیر int رو نمیشناسه
AG255 11 سال پیش
میخوام مثل برنامه آفتابه که 16 تا خونه داره و هر کدوم مجزا هست مجزاش کنم اما چطوری با onclicklisener میشه
amiryaser 11 سال پیش
من متوجه نشدم canvas مال کجاشه ، این 16 تا خونه که 16 تا ویو هستند که اگه باز باشند عکس مرحلشون نشون داده میشه و اگه نه یه عکس پیشفرض روشون هست و enable شون false هست.... خب اینجوری آدرس هر خونه رو میگیری و یه for میذاری که اگه از 1 تا 16 هر کدوم کلیک شد و enable بود به همون اکتیویتی برو حتی لازم نیست مجزا هم تعریف کنی
AG255 11 سال پیش
خوب من در کل دستور onclicklisener رو میخوام
AG255 11 سال پیش
switch (i + j) { case 1 + 1: Toast.makeText(G.co, "test : 1", Toast.LENGTH_SHORT).show(); break;
AG255 11 سال پیش
یه دستور onclicklisener میخوام اما نمیدونم کجاش باید بنویسم
AG255 11 سال پیش
که کار کنه
amiryaser 11 سال پیش
ویدیوی پروژه 2048 استاد قسمت تعریف دکمه ها رو که ببینی کامل متوجه میشی
AG255 11 سال پیش
نگاه کردم دستور برای کل اون داره نه برای تک تکش
amiryaser 11 سال پیش
خب شما هم برا کلش همونجور تعریف کن که راحتتر باشی اگه نمیخوای میتونی به روش زیر هرکدومشونو تعریف کنی و لیستنر ست کنی....
AG255 11 سال پیش
اخه برای تک تکش میخوام تعریف کنم کدوم روش زیر ؟
amiryaser 11 سال پیش
برات نوشتم زیر پستت اما اگه ویدیو های استادو از اول کامل با دقت میدیدی همشو گفته بودن
AG255 11 سال پیش
ممنونم

پاسخ‌ها 1

amiryaser 11 سال پیش

//برای هر کلیک مجزا تعریف میشود و ست میشود 
final Button btnSample= (Button) findViewById(R.id.btn_sample);

btnSample.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { //تعریف یک رویداد برای جابجا شدن به اکتیویتی بعدی Intent infopage = new Intent(StartActivity.this, nextActivity.class); StartActivity.this.startActivity(infopage); StartActivity.this.finish(); } });

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .