2012-12-04 1 views
1

안녕하십니까?) 저는 새로운 Android 개발자이며 조각을 삭제하는 데 도움이 필요합니다.android : 사용자가 외부에 손을 대면 어떻게 닫을 수 있습니까?

내 응용 프로그램에 로그인 조각이 있으며 사용자가 외부로 손을 댈 때 로그인 조각을 숨기려고합니다. 내가 어떻게 이걸 만들 수 있니? OnTouchEvent() 메서드가 유용 할 수도 있고 유용하지 않을 수도 있습니다.

말하십시오. 감사합니다.)

+1

: http://stackoverflow.com/questions/8404140 – dymmeh

+0

감사합니다, 그러나 그것을 DialogFragment가 아닙니다 .. – Sultan

+0

왜 대화 상자를 사용하지 않습니까? 어쨌든 대화 상자처럼 보이고 하나처럼 행동하기를 원한다면 어쨌든 더 이해할 수있을 것 같습니다. – dymmeh

답변

1

로그인 레이아웃을 투명하고 전체 화면 레이아웃으로 배치하고 더 큰 레이아웃에서 터치 이벤트를 감지하십시오.

0

안녕하세요 다시) 내 홈페이지 활동에 OnTouchListener를 사용하여이 문제를 해결합니다. 내 홈페이지 레이아웃에 gridviews 배경이 있으며 사용자가 로그인하지 않으면 onTouch() 메서드가 실행됩니다. 로그인 조각이 보이고 사용자 내가 더 좋은 방법은 메모리 리소스를 해제하기 위해 조각을 제거하는 생각 .. 조각을 기각하는 호출이 내 hideLoginFragment() 메소드의 외부

gridView = (ShelvesView) findViewById(R.id.grid_shelves); 
gridView.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
         if (application.getDbManager().getUser().key.equals("-1")){ 
        hideLoginFragment(); 
        loginButton.setVisibility(View.VISIBLE); 
        exitButton.setVisibility(View.INVISIBLE);} 
       return false; 
      } 
     }); 
0

을 누릅니다.

조각에서이 방법을 가진 데 내 솔루션 : 당신이 여기에 게시 대답 사용할 수있는 DialogFragment를 사용중인 경우

private void closeFragment() { 
     getActivity().getSupportFragmentManager().beginTransaction().remove(YOUR_FRAGMENT.this).commit(); 
    } 
관련 문제