float action button

پرسیده شده
فعالیت 997 روز پیش
دیده شده 365 بار
0

سلام

استاد چرا هنگام ساختن instance از float action button از کلاس View استفاده کردید؟

در قسمت متریال دیزاین اینو توضیح نداده بودید

فایل پیوست

Amir Mohammad Abdollahi
Amir Mohammad Abdollahi

11 مرداد 00

0
حذف شده

سلام وقت بخیر امیر عزیز

 

کدتون مشکلی نداره اما مشکلی که هست شما بجای اینکه در layout تون بیایید و از FloatingActionButton استفاده کنید دارید از ExtendedFloatingActionButton استفاده میکنید و حال به شما خطا میده که من نمیتونم ExtendedFloatingActionButton رو به FloatingActionButton کست کنم به این خطار که شما در کدتون از FloatingActionButton استفاده کردید 

FloatingActionButton btn_animation=findViewById(R.id.btn_actionbtn_main);

پس

شما دو تا کار میتونید کنید یا اینکه در لیوتتون برید و ExtendedFloatingActionButton رو به FloatingActionButton تغییر بدید و از این ویو استفاده کنید 

یا در کد های جاوا که ارسال کردید از ExtendedFloatingActionButton استفاده کنید یعنی:

ExtendedFloatingActionButton btn_animation=findViewById(R.id.btn_actionbtn_main);

خلاصه اینکه باتن شما در لیوت با ای دی btn_actionbtn_main از نوع ExtendedFloatingActionButton هست نه از نوع FloatingActionButton

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

12 مرداد 00

0
حذف شده

سلام وقت بخیر

از float action button یک نمونه یا instance ساخته نمیشه بلکه این instance وجود داره فقط findviewbyid میشه تمام عناصر رابط کاربری در نهایت کلاس View رو به ارث میبرن که این کلاس شامل یکسری property ها و method هایی میشه شما اینجا فقط میخواین وقتی روی float action button کلیک شد یک عملی رو انجام بدین و کار دیگه ای نمیخواین انجام بدین بنابراین instance این float action button رو میتونید داخل متغیری از نوع FloatActionButton یا View بریزین و هیچ تفاوتی نداره چون متد setOnClickListener در حقیقت داخل کلاس View وجود داره و کلاس FloatActionButtton این متد رو ازش به ارث برده. اگه از یک متدی استفاده کنید که داخل کلاس View نیست و مخصوص کلاس FloatActionButton هست اونوقت باید از متغیر از نوع FloatActionButton استفاده کنید نه View

فایل پیوست

میلاد عزیززاده گلنگشی

توسط

میلاد عزیززاده گلنگشی

11 مرداد 00

حذف شده
ممنون اما داخل متغیری از نوع FloatActionButton نمیشه ریخت امتحان کردم برنامه فورس کلوز میکنه و فقط View کار میکنه
Amir Mohammad Abdollahi

11 مرداد 00

حذف شده
یک شات از کدتون بدید
0
حذف شده
ImageView image_animation=findViewById(R.id.image_animation_main);
        FloatingActionButton btn_animation=findViewById(R.id.btn_actionbtn_main);


        AlphaAnimation alphaAnimation=new AlphaAnimation(1,0);

        alphaAnimation.setDuration(3000);
        alphaAnimation.setRepeatCount(Animation.INFINITE);
        alphaAnimation.setRepeatMode(Animation.REVERSE);
        alphaAnimation.setFillAfter(true);
        btn_animation.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                image_animation.startAnimation(alphaAnimation);
            }
        });
فایل پیوست

Amir Mohammad Abdollahi

توسط

Amir Mohammad Abdollahi

11 مرداد 00

حذف شده
الان این کدتون کار نمیکنه؟ یا ارور میده؟
حذف شده
این الان ارور میده داخل logcat اینو میگه com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton cannot be cast to com.google.android.material.floatingactionbutton.FloatingActionButton
Amir Mohammad Abdollahi

12 مرداد 00