2010-04-15 7 views
2

일시적으로 손댈 수없고 집중력이 떨어지는 활동을 어떻게 만들 수 있습니까?Android 비활성 활동

+0

액티비티를 활성 상태로 유지하려고하지만 UI에서 아무 것도 터치하거나 포커스 할 수 없습니까? –

+0

네, 정확히 원하는 것입니다 ... – Arutha

+0

setEnabled (false)와 같은 메소드가 필요하지만 액티비티 – Arutha

답변

0

원할 때 모든 수신기를 끌 수 있습니다. 내가 사용한 또 다른 접근법은 투명한 선형 레이아웃 또는 상대 레이아웃을 사용하여 일정 시간 동안 전체 화면을 덮도록 팽창시키는 것입니다.

public void coveredScreen(){ 
    if(point_total>0){ 
     parent = (RelativeLayout) findViewById(R.id.main_view); //whatever your layout is 
     loadedView = getLayoutInflater().inflate(R.layout.covered_screen, null); //the layout that contains something that fills parent. 

     parent.addView(loadedView); 

     updateHandler = new Handler(); 

     updateHandler.postDelayed(coveredScreen, 2000); //opens layout for 2000 ms 

     // turns off listeners... 
     button1.setClickable(false); 
     button2.setClickable(false); 

} 

Runnable loadingScreen = new Runnable() { 
     public void run() { 
     // this turns on listeners and removes the inflated view 
      parent.removeView(loadedView); 
      button1.setClickable(true); 
      button2.setClickable(true); 

     // Call this method again every 3 seconds if desired or as long as wanted by uncommenting this handler 
     //updateHandler.postDelayed(this, 3000); 
     } 
    }; 

그래서 ... 활동 내에서 사용자의 모든 동작을 차단할 때마다 전화를 걸고 싶을 때 설정하십시오.