رفتن به مطلب
  • 0

تغییر رنگ لیبل هنگام کلیک کردن


MahdiHD

سوال

سلام

من می خواهم مثل باتون که تعریف می کنیم اگر روی اون کلیک شد تغییر عکس یا متن بده برای لیبل هم همچین کاری رو بکنیم.یعنی بگیم وقتی که بر روی اون کلیک شد رنگش تغییر داده بشه و وقتی کلیک برداشته شد به رنگ اصلیش برگرده.برای این کار باید چه کار کرد؟ :gol:  یک دنیا تشکر :gol:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

ارسال‌های توصیه شده

معذرت از دوستان بخاطر بالا آوردن تاپیک ولی شدیدا نیاز دارم!

 

راه حل به درست کار می کند اما وقتی روی نوشته کلیک و به یک اکتیویتی دیگر می رود وقتی دوباره با دکمه بک به اکتیویتی مورد نظر بر می گردیم رنگ نوشته همان خاکستری هنگام کلیک است در صورتی که باید رنگ فقط هنگام کلیک تغییر کند همچنین وقتی رنگ تغییر می کند که روی دکمه کلیک شود و برداشته شود ولی در قسمت کلیک باتن وقتی دست روی دکمه می آید رنگ تغییر می کند و وقتی برداشته می شود رنگ به همان رنگ اولیه تغییر می کند.راه حل این مشکل چیست؟

این مشکل هنوز برطرف نشده ، حالت کلیک و تغییر رنگ دقیقا همانند باتون باشد.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

راه حل به درست کار می کند اما وقتی روی نوشته کلیک و به یک اکتیویتی دیگر می رود وقتی دوباره با دکمه بک به اکتیویتی مورد نظر بر می گردیم رنگ نوشته همان خاکستری هنگام کلیک است در صورتی که باید رنگ فقط هنگام کلیک تغییر کند همچنین وقتی رنگ تغییر می کند که روی دکمه کلیک شود و برداشته شود ولی در قسمت کلیک باتن وقتی دست روی دکمه می آید رنگ تغییر می کند و وقتی برداشته می شود رنگ به همان رنگ اولیه تغییر می کند.راه حل این مشکل چیست؟

سلام

 

کاری نداره که 

 

کد زیرو امتحان کنید 

Sub Globals
Private Label1 As Label
End Sub

Sub Label1_Click
If Label1.TextColor = Colors.Black Then
Label1.TextColor = Colors.Red
File.WriteString(File.DirInternal , "lblcolor.txt" , "red")
Else If Label1.TextColor = Colors.Red Then
Label1.TextColor = Colors.Black
File.WriteString(File.DirInternal , "lblcolor.txt" , "black")
End If
End Sub

 
Sub Activity_Create(FirstTime As Boolean)
If File.Exists(File.DirInternal,"lblcolor.txt") = True Then
Label1.TextColor = Colors.Black
End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید این کد ها وقتی کار می کند که بر روی لیبل کلیک شود!  اما اگر برای چند لحظه روی لیبل کلیک و کلیک برداشته شود رنگ ثابت است و کاملا هم معلوم است! چرا که کد رنگ وقتی کار می کند که کلیک شود بر روی لیبل کلیک کامل! اما اگر کلیک ناقص شود همانطور که گفتم رنگ تغییر نمی کند در صورتی که در باتون وقتی که انگشت روی آن بیاید عکس یا رنگ آن تغییر می کند ، در واقع من حالت Pressed Drawable یک دکمه را می خواهم رو لیبل شبیه سازی کنم ...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

واسه چیزی که میخواین باید از باتن استفاده کنید ، اگه میخواین عملیات روی لیبل انجام شه یه باتن بزارین روش و Alpha اون رو 0 قرار بدین

Sub button1_Down
	label1.TextColor=Colors.Red
End Sub

Sub button2_Up
	label1.TextColor=Colors.Black
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

اول لیبیل رو تعریف میکنیم

Sub Globals
	Private EditText1 As EditText
	Private Label4 As Label
End Sub

بعد دستور تو لیبیل بنویس ، دیگه همه دستوری میشه تو لیبیل نوشت

Sub Label4_Click
	Label4.TextColor = Colors.DarkGray
	Label4.Text = "king"
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

راه حل به درست کار می کند اما وقتی روی نوشته کلیک و به یک اکتیویتی دیگر می رود وقتی دوباره با دکمه بک به اکتیویتی مورد نظر بر می گردیم رنگ نوشته همان خاکستری هنگام کلیک است در صورتی که باید رنگ فقط هنگام کلیک تغییر کند همچنین وقتی رنگ تغییر می کند که روی دکمه کلیک شود و برداشته شود ولی در قسمت کلیک باتن وقتی دست روی دکمه می آید رنگ تغییر می کند و وقتی برداشته می شود رنگ به همان رنگ اولیه تغییر می کند.راه حل این مشکل چیست؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

راه حل به درست کار می کند اما وقتی روی نوشته کلیک و به یک اکتیویتی دیگر می رود وقتی دوباره با دکمه بک به اکتیویتی مورد نظر بر می گردیم رنگ نوشته همان خاکستری هنگام کلیک است در صورتی که باید رنگ فقط هنگام کلیک تغییر کند همچنین وقتی رنگ تغییر می کند که روی دکمه کلیک شود و برداشته شود ولی در قسمت کلیک باتن وقتی دست روی دکمه می آید رنگ تغییر می کند و وقتی برداشته می شود رنگ به همان رنگ اولیه تغییر می کند.راه حل این مشکل چیست؟

 

راه حل این موضوع ، باید یک متغیر تعریف کنی ؛ بعد رنگ رو بریزی تو متغیر که اگر بک داد دوباره رنگ همون باشه

متغیرت هم باید اینجا تعریف کنی

Sub Process_Globals


End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

این موضوع چگونه باعث حل مشکل می شود؟ریختن رنگ در متغیر و استفاده از متغییر به جای استفاده از مستقیم رنگ چگونه باعث حل مشکل می شود؟ و مشکل دومی چگونه حل می شود این مشکل اول بود

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگه میخواین حتی از برنامه خارج هم شد به همون رنگ باقی بمونه باید مقدارش رو یه جا مثل فایل تکست ذخیره بکنید.

و دوباره توی رویداد activity_resume فراخوانیش بکنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...