بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تغییر لحظه ای رنگ بکگراند ImageView با هر بار کلیک
سلام دوستان / من چند تا آیکون ImageView تو برنامم هست که وقتی روشون کلیک میشه خیلی خشک دیده میشه_
میخواستم وقتی کاربر روشون کلیک کرد یه لحظه بک گراند عوض شه_ مثل آیکون های باد صبا
+1
0
از selector استفاده کن (11 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
سالار جلالی
11 سال پیش
+1
0
پوشه drawable رو درون پوشه res بسازید.و یک فایل xml از نوع selector بسازید.در این فایل می تونید برای حالت های مختلف منبع گرافیکی مخصوص استفاده کنید.
نمونه کد زیر برای یک کلیک ساده هست.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/btn_sound_unclicked" android:state_pressed="false"></item>
<item android:drawable="@drawable/btn_sound_clicked" android:state_pressed="true"></item>
</selector>
امید وارم براتون مفید باشه.
دو مسئله وجود داره:
1- شما باید در قسمت android:drawable="@drawable/btn_sound_clicked" از یک منبع گرافیکی یا رنگ دلخواهتون استفاده بکنید.
2- اینکه با این کد شما اگر یک شی رو لمس کنید یک تغییر رنگ رخ میده و وقتی دسستون رو بردارید به رنگ اول بر میگرده .android:state_pressed مشخص کننده این هست که دکمه درحالت لمس شدن هست یا نه.
واما برای استفاده بعد از ساختن فایل xml میتونید اون رو به عنوان Background به هر شی ای که می خواین نسبت بدین.
در ضمن استاد این روش رو در بخش 03-03 Advanced Art Assets آموزش دادن فقط کافیه که بعد از یاد گیری دروس استاد خودتون هم با کد ها کلنجار برید.
امید وارم توضیحاتم کافی بوده باشن. (11 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .