بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

سوال در مورد ImageView

مدیریت گفتگو
khanbeiki 11 سال پیش
آخرین تغییر: 11 سال پیش

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

و چند تا عکس بزارم که به ترتیب در یک فاصله زمانی مشخص خودش عوض بشه؟

چکنم؟

نظرات

khanbeiki 11 سال پیش
کسی نیست جواب بده ؟
doost_fu 11 سال پیش
سوالتون یه خورده گنگه ! ولی خب برا لرزش یه عکس میتونید یه انیمیشن لرزش درست کنید و روی اون عکس اعمال کنید و اون عکس هایی هم که قراره عوض بشه رو میشه از طریق thread این کار کرد که مثلا بعد 5 ثانیه ایمیج ویو X ، بک گراندش تغییر کنه !
khanbeiki 11 سال پیش
عزیزم این قسمت تغییر عکس رو توضیح میدی ؟ میشه کدشو بفرست ی برام ؟
حامد 11 سال پیش
منظورت اینه که مثلا هر 5 ثانیه میخوای عکس به صورت اتوماتیک عوض بشه؟
khanbeiki 11 سال پیش
بله دقیقا همینه، عین این سایت ها هستن که عکسهای Slide Show دارم. اینطوری بشه
حامد 11 سال پیش
میخوای تو برنامت slideshow بزاری یا میخوای عکس background را عوض کنی؟
khanbeiki 11 سال پیش
میتونی هر دو رو یادم بدی ؟ به ساده ترین روش که ممکنه

پاسخ‌ها 1

حامد 11 سال پیش

برای SlideShow پروژه را از دست دادم . شما پروژه های این لینک را بررسی کنید پیدا کردی با ما به اشتراک بگذار :

https://github.com/search?l=Java&q=slideshow&type=Repositories&utf8=%E2%9C%93

اینم ببینید : https://github.com/cyrusmith/Slideshow

 

برای تغییر عکس Background از این کد استفاده کنید :

تعیین زمان و عکس ها :

 private static final long GET_DATA_INTERVAL = 25000;
int images[] = {R.drawable.back1,R.drawable.back2,R.drawable.back5,R.drawable.back7,
R.drawable.back3,R.drawable.sky,R.drawable.back4,R.drawable.beach,
R.drawable.back8,R.drawable.back9};

و این را در کلاس قرار دهید :

 Runnable run = new Runnable() {
@SuppressWarnings("deprecation")
@Override
public void run() {
Random randomGenerator = new Random();
int randomNumber = randomGenerator.nextInt(10);
main_layout.setBackgroundDrawable(getResources().getDrawable(images[randomNumber]));
if (randomNumber == images.length)
randomNumber = 0;
handler.postDelayed(run, GET_DATA_INTERVAL);
}
};

و سپس فراخوانی کنید :


handler = new Handler();
handler.postDelayed(run, GET_DATA_INTERVAL);

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .