[英]Randomly change background image in Android
我的測驗應用程序中有一個活動,我想每5秒更改一次背景。 如何將可繪制文件夾中的圖像隨機化,並使它們成為我活動的背景圖像。 注意:這只是一個活動。
任何幫助將不勝感激。 謝謝。
您可以像這樣創建可繪制對象的數組:
<array name="myImages">
<item>@drawable/img1</item>
<item>@drawable/img2</item>
<item>@drawable/img3</item>
</array>
您可以這樣獲得它們:
Resources res = getResources();
TypedArray myImages = res.obtainTypedArray(R.array.myImages);
現在創建隨機數:
Random r = new Random(myImages.length())
int i = r.nextInt();
Drawable drawable = icons.getDrawable(i);
現在每隔5秒鍾將它們設置為背景(如ρяσsρєяs示例)。
使用Handler
或Timertask
每5秒更改活動背景為:
public static int count=0;
int[] drawablearray=new int[]{R.drawable.One,R.drawable.Two,..};
new Handler().postDelayed(new Runnable() {
public void run() {
if(count<drawablearray.length){
Your_Current_Activity.this.getWindow().
setBackgroundDrawableResource(drawablearray[count]);
count++; //<<< increment counter here
}
else{
// reset counter here
count=0;
}
}
}, 5000);
public class Test extends Activity{
//instantiate a handler object
private Handler imageHandler = new Handler();
//array containing drawables ids
int[] myarray = new int[]{R.drawable.image1,.....};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//add a runnable to the message queue
imageHandler.post(handle);
}
private final Runnable handle = new Runnable(){
public void run(){
try {
Random r = new Random();
int i = r.nextInt(myarray.length);
Test.this.getWindow().setBackgroundDrawableResource(myarray[i]);
imageHandler.postDelayed(this, 5000);
}
catch (Exception e) {
Log.d("Test", e.toString());
}
}
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.