ممنون دوست عزیز خیلی کامل و خوبه . فقط در قسمت ( در پوشه drawble یه فایل به animation.xml میسازید ) من نمی دونم با Android Studio چطور باید بسازم...
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
ساخت یک Random Background
مدیریت گفتگو
آخرین تغییر: 11 سال پیش
با سلام :
من می خواهم در یک Activity چند تا عکس بزارم به صورت بک گراند که هر چند ثانیه عوض بشود...ولی نمی دانم چطور این کار را انجام بدم...لطفا راهنمایی بفرمایید.
پاسخها 7
اول تو اکتیوتی دلخواه یک imageView ایجاد میکنید مثل کد زیر
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:adjustViewBounds="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY"
/>
خوب در پوشه drawble یه فایل به animation.xml میسازید مشخصه اول کد زیر نام عکس و دومی زمان نمایشش
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/background2" android:duration="3000" /> <item android:drawable="@drawable/background3" android:duration="3000" /> <item android:drawable="@drawable/background4" android:duration="3000" /> <item android:drawable="@drawable/background5" android:duration="3000" /> </animation-list>
خوب میریم سراغ سورس کد اول اون imageView رو معرفی میکنیم بعد انیمشن رو بهش نسبت میدیم
ImageView animation = (ImageView) findViewById(R.id.imageView1);
animation.setBackgroundResource(R.drawable.animation);
این کد هم برای اینکه انیمشن اجرا شه انتهای صفحت میذاری
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
AnimationDrawable frameAnimation =
(AnimationDrawable) animation.getBackground();
if (hasFocus) {
frameAnimation.start();
}
} else {
frameAnimation.stop();
}
}
}
تموم شد
نظرات



نظرات
اون هدر که عوض شده همون imageView هست که انیمشن بهش نسبت دادیم
تمام کار ها را انجام دادم فقط در اینجا ارور داره :
package test.yavari.fa2.test;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.AnimationDrawable;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.ImageView;
public class ThirdActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.third_page);
ImageView animati findViewById(R.id.imageView1);
animation.setBackgroundResource(R.drawable.animation);
@Override
public void onWindowFocusChanged(boolean hasFocus) {
لینک TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus); AnimationDrawable frameAnimati animation.getBackground();
if (hasFocus) {
frameAnimation.start();
}
} else {
frameAnimation.stop();
}
}
}
}
}
اشتباه شد
package test.yavari.fa2.test;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.AnimationDrawable;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.ImageView;
public class ThirdActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.third_page);
ImageView animation = (ImageView) findViewById(R.id.imageView1);
animation.setBackgroundResource(R.drawable.animation);
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
AnimationDrawable frameAnimation =
(AnimationDrawable) animation.getBackground();
if (hasFocus) {
frameAnimation.start();
}
} else {
frameAnimation.stop();
}
}
}
}
}
نظرات
onWindowFocusChanged رو بیار خارج از setContentView
نظرات
کلا گیر داده به frameAnimation ! اعصابم خورد شد یل اینکه من خیلی خنگم. شرمنده اذیتتونم کردم
فکر کنم یه پرانتز کم گذاشتی اخر کدت کم داره
نه اونو هم گذاشتم بازم نشد. به frameAnimation یه چیزی میگه
شاید هم پرانتز قبل از else یکیش اضافیه
ّframeAnimation مشکل نداره مشکل از پرانتز هاس چون اگه اون داشت کد بالاترش frameAnimation . star هم ارور میداد
نظرات
انجام دادم دوست عزیز بازهم نشد... :(
این درست شد ولی وقتی اجرا می کنم force close میده
اگه از اکلیپس استفاده میکردی بهتر بود ولی شما خاستی پروژت رو بفرست برای من ببینم مشکلش چیه من فعلا برم لالا :)
مرسی درست شد دوست عزیز . فقط نمیشه به عکس ها افکت داد که زیباتر عوض بشه؟ اگه اپ سیروان رو نصب کنید بهتر منظورم رو متوجه میشید. وقتی عکس ها عوض می شوند تو در تو هست انگاری یه افکت قشنگی داره
منظورم اینه چطور می تونم cross fading رو بهش اضافه کنم؟
شما پروژه اسلایدر استاد رو نگاه کنید مشکلتون حل میشه
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام




نظرات