0

アクティビティには 12 個のボタンがあります。次のように使用したいと思います。

2 つのボタンを同時にクリックできるようにする必要があります。これら 2 つのボタンをクリックすると、何らかのアクションが実行されます。このアクションが成功した場合、これら 2 つのボタンは「非表示」にする必要があり、このアクションが失敗した場合は、再びオプションが必要です。 12 個すべてのボタンのうちの 2 つのボタンのいずれかをクリックします。

このアクティビティと 12 個のボタンすべてのレイアウトも設定しました。すべてのボタンに onClick メソッドも設定しました。

[添加]

つまり、一度に押すことができるのは 12 個のボタンのうち 2 つだけです..そのうちの任意の 2 つ..その後、両方のボタンの出力が比較されます..等しい場合、ボタンは非表示になります。もう一度、ユーザーは 2 つのボタンをクリックする機会を得ます..

[コード]

button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    RotateAnimation rotate = new RotateAnimation(0,90);
rotate.setFillAfter(true);
button1.startAnimation(rotate);

Random r = new Random();
int next = r.nextInt(5) + 1;
imgV1.setImageResource(images[next]);  //imageView1 is given a random image

AlphaAnimation alpha = new AlphaAnimation(0,1);
alpha.setFillAfter(true);
imgV1.startAnimation(alpha);
arg0.clearAnimation();
}});

imgV1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
AlphaAnimation alpha = new AlphaAnimation(1,0);
alpha.setFillAfter(true);
imgV1.startAnimation(alpha);

RotateAnimation rotate = new RotateAnimation(90,0);
rotate.setFillAfter(true);
button1.startAnimation(rotate);
arg0.clearAnimation();
}});

ボタンをクリックするとランダムな画像が表示されます.画像をクリックするとボタンが元に戻ります..2つのボタンがクリックされ、同じ画像がある場合は両方とも非表示になり、そうでない場合は両方ともボタンとユーザーに戻ります2 つのボタンのいずれかを再度クリックできます。

各ボタンには、レイアウト内の背後に imageView があります。

4

3 に答える 3

0

setVisibility()view(Button) のメソッドを使用して、可視性をオンまたはオフに設定できます。

Button b = ( Button )findViewById( R.id.button1 );
b.setVisibility( b.INVISIBLE );
b.setVisibility( b.VISIBLE );
于 2013-06-16T12:59:40.597 に答える
0

私が考えたロジックは、

グローバルに 2 つの変数を用意する必要があります。

1 つはボタンのクリック数をカウントするため、2 番目は最初のクリック アクションを保存するためです (アプリに基づく)。

私はint action=0,count=0;グローバル変数として取っています。

findViewById(R.id.button1).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if(count<2){// means first click
                action=1;// button1 pressed
                count++;
            }
            else{//second click
                count=0;
                //Here perform your action and based upon it, set visibility. Previous click is available in 'action'

            }
        }
    });

すべてのボタン クリックに対してこれを繰り返します。それでおしまい。アクションを実行して可視性を設定するために独自のメソッドを呼び出すことをお勧めします。

于 2013-06-16T17:34:17.297 に答える