2016-04-07 11 views
0

私は表面図を拡張GameViewクラスを、持っていると私は私のGameViewクラスで私はsurfaceviewのタッチイベントが

public class GameViewActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(new GameView()); 
} 

私の活動でそれを読み込むトリガされた別のアンドロイドのxmlレイアウトをロードすることができますどのようにタッチイベントがトリガされ、オブジェクトがビューに描画された後、私は、ユーザは、異なるXMLレイアウトにontouchリスナーこのonTouch方法において

public class GameView extends SurfaceView implements SurfaceHolder.Callback{ 

@Override 
public boolean onTouchEvent(MotionEvent event) { 


    GameTile tile = gridView.getTile(event.getX(), event.getY()); 

    tile.setGameTile(new EmptyStruckTile()); 

    drawGameView(); 

    return true; 
} 

リダイレクトすべきです。私の質問は、タッチイベントが表面ビューでトリガーされた後、現在setContentView(新しいGameView()がロードされた後、タイムアウト値に応じて待機し、別のxmlレイアウトファイルをロードした後、 ? と心に留めて、私はそれはいくつかのレイアウトを膨らませることにより、簡単だ

答えて

0

。いくつかの点で表面ビューに戻ることができるはずですし、彼らと一緒に働いています。あなたは、複数のPopupViewを使用して作成することができます例えば。

あなたはあなたのアクティビティをSurfaceViewで持っています。何らかのアクションが起こって、以下の関数呼び出しをトリガします。

ベース初期化:

SurfaceView yourSurfaceView; 
PopupView popupViewPause; 

ポーズメニュー表示する機能:あなたは別のレイアウトに必要な数を超える

closePauseMenu() { 
    if (popupViewPause != null) { 
     popupViewPause.close(); 
    } 
} 

繰り返しコード:ポーズメニューを閉じるには

showPauseMenu() { 
LayoutInflater layoutInflater 
    = (LayoutInflater)getBaseContext() 
     .getSystemService(LAYOUT_INFLATER_SERVICE); 
    popupViewPause = layoutInflater.inflate(R.layout.popup1, null); 
      final PopupWindow popupWindow = new PopupWindow(
       popupView, 
       LayoutParams.MATH_PARENT, 
        LayoutParams.MATH_PARENT); 

      Button btnDismiss = (Button)popupView.findViewById(R.id.dismiss); 
      btnDismiss.setOnClickListener(new Button.OnClickListener(){ 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     popupWindow.dismiss(); 
    }}); 

    /* Initialize your other views, buttons from R.layout.popup1 

     * ---------------------------------------------------- 
     */ 

      popupViewPause.showAsDropDown(yourSurfaceView, 0, 0); 

    }}); 
} 

機能。

関連する問題