تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ پارسا
حل مشکل button background در اندروید استودیو ورژن 4.1
جامعه جاوا (اندروید) ایجاد شده در ۱۹ آذر ۱۳۹۹

سلام دوستان،

بنده داشتم سعی می‌کردم داخل ورژن جدید اندروید استودیو ورژن ۴.۱ به button صفت background رو بدم و بعدش custom drawable رو که استاد ساختن رو به عنوان مقدار براش قرار بدم که متاسفانه چیزی تغییر نکرد؛ بعد از کمی جستجو متوجه شدم که اندروید استودیو در ورژن ۴.۱، <com.google.android.material.button.MaterialButton> این تگ رو اضافه کرده که برای متریال دیزان هست و از طرفی تگ button و همین تگ جدید، صفت background رو ساپورت نمیکنه و برای تگ جدید هم باید از backgroundTint برای تغییر رنگ پس زمینه استفاده کنید.

اما اگر بخوایم از custom drawable فایل استفاده کنیم چیکار باید کنیم؟ خوشتبختانه فکری هم به حال اینجا کرده، میتونید بجای استفاده از تگ Button ، از تگ <android.widget.Button>  استفاده کنید اونوقت داخل این تگ از صفت background استفاده کنید و custom drawable ساخته شده رو بدید بهش.

ضمناً دیگه نیازی به ساخت custom drawable نیست چراکه تگ  <com.google.android.material.button.MaterialButton> از صفات 

strokeColor, strokeWidth, cornerRadius پشتیبانی میکنه و درواقع کار رو خیلی راحت‌تر کرده، مگر اینکه در موارد تخصصی‌تر لازم داشته باشید که از custom drawable استفاده کنید.

موفق باشید.

سلام و احترام

 

خیلی سپاس گزارم از این نکته اموزشی که قرار دادید

خدمتتون عرض کنم <com.google.android.material.button.MaterialButton> مربوط به لایبرری MaterialDesign هست که قبل از اندروید استودیو 4.1 باید لایبرری مربوطه رو به صورت دستی اضافه میکردیم پیشنهاد من به شما جلو رفتن با اموزش هست چرا که در سرفصل متریال دیزاین با این لایبرری به صورت کامل اشنا خواهید شد .

دلیل اینکه پیشنهاد کردم با اموزش جلو برید این هست اگر هدف شما استخدام باشد و شما وارد شرکتی شوید شاید شرکت مربوطه از متریال دیزاین استفاده نکند و برای شما مشکل ساز شود.

به عنوان مثال ساخت drawable custom خیلی جاهای دیگر علاوه برbackground یک Button کاربرد دارد.

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

موفق باشید.

 

 

پوریا شفیعی ۱۹ آذر ۱۳۹۹، ۱۴:۴۷

دقت داشته باشید که در اندروید استودیو نسخه 4.1، به صورت پیش فرض تم در قسمت themes، دارای 

parent="Theme.MaterialComponents.DayNight.DarkActionBar" می باشد و برای اینکه بتونید با استاد پیش برید و از مطالب استفاده کنید باید اون رو به parent="Theme.AppCompat.Light.NoActionBar تغییر بدید تا مشکل مذکور برطرف شود.

پارسا ۱۹ آذر ۱۳۹۹، ۱۵:۲۸

:طبق اموزش این سرفصل

خدمتتون عرض کنم که در هیچ کدام از ویو‌های پیشفرض اندروید تغییری ایجاد نشده برای استفاده از background روی Button طبق کد زیر (مثال): 

شما میتوانید به عنوان background به Button تان drawable کاستوم خود را بدهید که من در مثال زیر color مربوط به خود android قرار دادم.

<Button
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="@android:color/background_light"/>
پوریا شفیعی ۱۹ آذر ۱۳۹۹، ۱۵:۳۸

با سلام و درود خدمت اساتید خودم

من آموزش را تازه شروع کردم و در نسخه 4.1 مشکلی که دارم اینه که وقتی custom drawable را به عنوان background معرفی میکنم هیچ اتفاقی نمی‌افته (آقای شفیعی : طبق آموزش هم جلو میرم) ، لطفا در مورد رفع این مشکل توضیح بدید ممنونم.

تصویر button را ارسال میکنم تا ببینید.

قاسم سعادتی اسکندری ۲۹ دی ۱۳۹۹، ۰۸:۲۶