PDA

View Full Version : لطفایکی جواب بده



minajuuuni
جمعه 26 مهر 1392, 22:05 عصر
تغییر رنگ پشت زمینه با توجه به ساعات وروزمشخص

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

hamid_hr
شنبه 27 مهر 1392, 10:18 صبح
خب ميتوني زماني كه برنامه استارت ميشه تاريخ و ساعتو بگيري با يك سوئيچ و كيس گذاشتن برا تاريخ و ساعت رنگ رو مشخص كني و ست كني
LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(android.R.color.red);

minajuuuni
یک شنبه 28 مهر 1392, 09:08 صبح
سلام .میشه بیشتر توضیح بدین؟

javadaskari
یک شنبه 28 مهر 1392, 10:49 صبح
سلام

مثلا:





Calendar cal = Calendar.getInstance();
switch(cal.getTime().getHours())
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
//set red color
break;
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
//set green color
break;
}

minajuuuni
یک شنبه 28 مهر 1392, 14:19 عصر
سلام.مرسی از جوابتون.من case هارو کجا باید تعریف کنم؟

javadaskari
سه شنبه 30 مهر 1392, 13:19 عصر
منظورتونو درست نفهمیدم
کد رو میتونید توی متد onCreate اصلی بزارید. الان در این کد من ، از ساعت 1 تا 12 یه رنگه و از ساعت 13 تا 24 یه رنگ دیگه

shs1377
سه شنبه 30 مهر 1392, 22:33 عصر
منظورتونو درست نفهمیدم
کد رو میتونید توی متد onCreate اصلی بزارید. الان در این کد من ، از ساعت 1 تا 12 یه رنگه و از ساعت 13 تا 24 یه رنگ دیگه


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

shs1377
چهارشنبه 01 آبان 1392, 15:06 عصر
دوست عزیز من این روش رو امتحان کردم ولی برای تغییر حتما باید یکبار از برنامه خارج و دوباره وارد شد راهی نیست که هنگام کار با برنامه رنگش عوض بشه؟؟؟

پس چی شد کسی نبود؟

javadaskari
چهارشنبه 01 آبان 1392, 16:36 عصر
پس چی شد کسی نبود؟

میتونی از کلاس thread استفاده کنی. من استفاده کردم جواب میده. یه کم جستجو کنی گیر میاری
اگه نتونستی بهم بگو کدشو میزارم. الان چون کار دارم نذاشتم!

shs1377
چهارشنبه 01 آبان 1392, 17:59 عصر
میتونی از کلاس thread استفاده کنی. من استفاده کردم جواب میده. یه کم جستجو کنی گیر میاری
اگه نتونستی بهم بگو کدشو میزارم. الان چون کار دارم نذاشتم!

لطفا کد هاش رو بزار اگه میشه یکم در مورد thread و سرویس هم یا خودتون توضیح بدین یا لینک بدید ممنون

javadaskari
جمعه 03 آبان 1392, 18:02 عصر
لطفا کد هاش رو بزار اگه میشه یکم در مورد thread و سرویس هم یا خودتون توضیح بدین یا لینک بدید ممنون

توی هر کلاسی میتونید یه thread اضافه کنید تا یکی از متدهای کلاس هر چند وخ یکبار(مثلا هر 3 ثانیه) اجرا بشه. مثلا کد زیر یک کلاس ساده است که این کارو کرده، میتونی شبیه همینو برای کلاس main خودت بزاری:



public class yourClass implements Runnable
{
private Thread thread = null;

public yourClass()
{
//Start thread
this.thread = new Thread(this);
this.thread.start();
}

public void run()
{
while(true)
{
//Change color here!

//For refresh screen
this.postInvalidate();

//Wait 3 seconds
try
{
synchronized(this)
{
this.wait(3000);
}
}
catch (InterruptedException ex)
{
ex.printStackTrace();
}
}
}
}

minajuuuni
یک شنبه 05 آبان 1392, 14:23 عصر
من هم تاریخ می خوام هم ساعت

minajuuuni
سه شنبه 07 آبان 1392, 09:38 صبح
سلام .من هم تاریخ هست هم ساعت بعلاوه این فقط در ساعت 1و2و....رنگی می شود ساعت های بین این ها چه می شود؟

hamid_hr
سه شنبه 07 آبان 1392, 10:23 صبح
ببينين راه حل كلي رو دوستان گفتن

توی هر کلاسی میتونید یه thread اضافه کنید تا یکی از متدهای کلاس هر چند وخ یکبار(مثلا هر 3 ثانیه) اجرا بشه. مثلا کد زیر یک کلاس ساده است که این کارو کرده، میتونی شبیه همینو برای کلاس main خودت بزاری:

چطور شرط رو بزاري رو هم گفتن

Calendar cal = Calendar.getInstance();
switch(cal.getTime().getHours())
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
//set red color
break;
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
//set green color
break;
}

چطور رنگ عوض كني رو هم گفتن

LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(android.R.color.red);

يك كم اگه همت كنيد
ميتونيد اينا رو تلفيق كنيد و شرط دلخواهو بزاريد و انجامش بدي