2014-05-17 47 views
-1

你好我是Android的初學者,正在開發一款遊戲。目前我正試圖讓一些圖像出現在屏幕上。我將佈局中的圖像設置爲數組,我希望索引隨機生成以顯示圖像。我的問題是,一開始我希望圖像被隱藏起來,然後在遊戲開始後它們隨機出現。這是我的代碼。提前致謝。隱藏 - 在Android中隨機顯示圖像

package com.example.evo; 


import android.app.Activity; 

import java.util.Random; 

import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.widget.ImageView; 

public class Play extends Activity { 

private ImageView iv1, iv2, iv3,iv4,iv5,iv6; 
private ImageView[] IMGS = { iv1, iv3, iv3, iv4, iv5, iv6 }; 

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.play_game); 

    iv1 = (ImageView) findViewById(R.drawable.player); 
    iv2 = (ImageView) findViewById(R.drawable.player); 
    iv3 = (ImageView) findViewById(R.drawable.player); 
    iv4 = (ImageView) findViewById(R.drawable.player); 
    iv5 = (ImageView) findViewById(R.drawable.player); 
    iv6 = (ImageView) findViewById(R.drawable.player); 

    IMGS[0] = iv1; 
    IMGS[1] = iv2; 
    IMGS[2] = iv3; 
    IMGS[3] = iv4; 
    IMGS[4] = iv5; 
    IMGS[5] = iv6; 



    while(true) { 


     Random random = new Random(); 
     int rndIndex = random.nextInt(IMGS.length); 



    } 
} 
+2

_IN我想要的圖像被隱藏,然後開始比賽後開始出現randomly_ 。謹慎闡述?你打算如何開始遊戲?而且,您對所有ImageViews使用相同的圖像... – Onik

回答

0

關於你想要的圖像,從一開始就被隱藏的部分,你可以在你的XML每個ImageView的android:visibility = "gone"

添加tag在你的代碼,而(真)將會使佈局不響應你應該做重複的線程或計時器,它可以幫助你反覆調用函數

關於隱藏和顯示imageViews

IMGS[0].setVisibility(View.VISIBLE); // to show the image 
IMGS[0].setVisibility(View.GONE); // to hide the image 

我想你正在使用繪製而不是ID從XML得到ImageView的,並且使用的是相同的圖像

0

使用值爲VISIBLE/GONE的setVisibility()方法。

iv1.setVisibility (View.GONE) 
0

您可以使用.setVisiblity(int visibility)隱藏或顯示您的ImageViews(按http://developer.android.com/reference/android/view/View.html#setVisibility%28int%29)。

在你的情況,你應該能夠做到:

Random random = new Random(); 
int rndIndex = random.nextInt(IMGS.length); 
IMGS[rndIndex].setVisibility(View.VISIBLE); 

要顯示視圖。要隱藏的最後一個,我會建議定義rndIndex與您的陣列,讓你可以的代碼塊之前做

IMGS[rndIndex].setVisibility(View.GONE); 

以上,這意味着它看起來更像是:

IMGS[rndIndex].setVisibility(View.GONE); 
Random random = new Random(); 
rndIndex = random.nextInt(IMGS.length); 
IMGS[rndIndex].setVisibility(View.VISIBLE); 

祝你好運!