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

تغییر رنگ بکگراند به صورت تصادفی(random)


mverkiani

سوال

سلام با اجازه دوستان و استید محترم در حال نوشتن برنامه ای هستم که لازم دارم رنگ بک گراندش در هر بار اجرای اون اکتیویتی تغییر کنه (برای زیبایی کار)...

 

شما یه چیزی مثل ویندوز 8 در نظر بگیر که هر بار صفحه جدید باز بشه با برگشتن به صفحه اول رنگ بکگراند تغییر کرده.....

 

ممنون میشم راهنمایی کنید...

می دونم که باید توصط یه  ساب 3 عدد رندوم 0 تا 255 ساخته بشه و  در

(activity.color=colors.RGB(r,g,b

به جای R،G و B قرار بگیره ولی نمی دونم چطور؟؟

لطفا در صورت امکان سورس رو قرار بدید تا با تغییراتی اونچه مد نظرم رو درست کنم ..

ممنون می شم 

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

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

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

سلام بفرمایید:

Dim r As Int
r=Rnd(0,255)
Dim g As Int
g=Rnd(0,255)
Dim b As Int
b=Rnd(0,255)
Activity.Color=Colors.RGB(r,g,b)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

میتونی این کد رو توی رویداد Activity_Create  قرار بدی :

	Dim red As Int = Rnd(0,255)
	Dim green As Int = Rnd(0,255)
	Dim blue As Int = Rnd (0,255)
	Dim cd As ColorDrawable
	cd.Initialize(Colors.RGB(red,green,blue),5)
	Activity.Background = cd
لینک ارسال
به اشتراک گذاری در سایت های دیگر

به این شکل عمل کنید :

Activity.Color = 0xFFE4E4E2

2تا F  اول هم مربوط به Alpha  رنگ هستش.

FF پر رنگه و اگه خواستید Transparent بشه بجاش 00 بزارید

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

ممنون که اینقدر سریع پاسخ گو بودید حالا می تونم سوال بپرسم که اگر فقط بخوام از رنج رنگ هاای که من میگم  رنگ رو انتخاب کنه( دقت کنید رنج می خوام تعریف بشه) به چه صورت باید کد ها رو تغییر بدم؟؟

مثلا می خوام رنگ هایی که از زیر مجموعه قهوه ای یا سیاه وبه صورت کلی قرمزشون  زیاده کم باشن یا نباشن و رنگ های ملایمی مثل ژیر مجموعه های آبی و سبز بیشتر باشن

باز هم ممنون بابت پاسخ گوویی سریعتون

و جالب بود برام که اینجا هم تابع Rnd وجود داره نمی دونستم :D

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

نه منظورم اینه که رنگ رو از یک Array انتخاب کنه

مثلا

dim col() as string
col=array as string("0xFF015687","0xFF98EAFF")
.
.
.
.
.
.
panel1.color=col(rnd(0,1))

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

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

نباید از نوع استرینگ باشه 

اساتبد لطفا راهنمایی کنید

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

آرایه رو از نوع Byte  تعریف کنید و اون "" رو هم بر دارید.

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

ممنون که اینقدر سریع پاسخ گو بودید حالا می تونم سوال بپرسم که اگر فقط بخوام از رنج رنگ هاای که من میگم  رنگ رو انتخاب کنه( دقت کنید رنج می خوام تعریف بشه) به چه صورت باید کد ها رو تغییر بدم؟؟

مثلا می خوام رنگ هایی که از زیر مجموعه قهوه ای یا سیاه وبه صورت کلی قرمزشون  زیاده کم باشن یا نباشن و رنگ های ملایمی مثل ژیر مجموعه های آبی و سبز بیشتر باشن

باز هم ممنون بابت پاسخ گوویی سریعتون

و جالب بود برام که اینجا هم تابع Rnd وجود داره نمی دونستم :D

منظورتون رو نفهمیدم.ی

یعنی مثلا میخواین از رنگ های بیشفرض بیسیک استفاده بکنید؟؟ مثل: red,Blue,Green,Magenta,Yellow...

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

سلام دوست عزیز

اونجوری که من فهمیدم از حرفتون

باید بیاین ببینید که مثلا رنگ سبز، حدود RGB از چه اعدادی هست

مثلا اگه R سبز 200 به بالاس، میتونید بیاین و از 

Dim red As Int = Rnd(0,200)

استفاده کنید

محدود میکنید به این شکل....

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

سلام دوست عزیز

اونجوری که من فهمیدم از حرفتون

باید بیاین ببینید که مثلا رنگ سبز، حدود RGB از چه اعدادی هست

مثلا اگه R سبز 200 به بالاس، میتونید بیاین و از 

Dim red As Int = Rnd(0,200)

استفاده کنید

محدود میکنید به این شکل....

 این راه حل بسیار عالیه که منم استفاده کردم ولی می خوام که به این صورت باشه ولی ارور میده

dim col as string
col= Array As ("0xFF400053","0xFF325D64")
panel1.color=col(rnd(0,1))

 این برنامه کامپیال میشه ولی رو گوشی ارور میده

Error Occurred

 

an error has occurred in sub:

java.lang.numberFormatException: invalid hex double:0xFF400053

Continue?

حدس می زنم برای نوع متغیر باشه درسته؟

چه تغییری بدم تا درست بشه

از درست بودن کد هکز هم مطمعنم

لطفا راهنمایی کنید

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

تونستم این کار رو با عکس انجام بدم ولی کسی برای Color بلد هست ؟

Dim cl() As Bitmap
	cl= Array As Bitmap(LoadBitmap(File.DirAssets,"pic1.jpg"),LoadBitmap(File.DirAssets,"pic2.jpg"),LoadBitmap(File.DirAssets,"pic3.png"),LoadBitmap(File.DirAssets,"pic4.jpg"),LoadBitmap(File.DirAssets,"pic5.jpg"))

.
.
.
.
.

hsv1.Panel.SetBackgroundImage(cl(Rnd(0,4)))

با اجازه اساتید این هم کد برای دوستان مشتاق

به جای pic1,pic2,pic3,pic4,... نام فایل رو بزارید و فرمتش

اگه می تونین برای خود رنگ هم راهنمایی کنید

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

بایگانی شده

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

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

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