2012-10-13 9 views
6

Mam wyskakujące okno względne, które wyświetla się po kliknięciu przycisku. Mam kilka innych widoków na tym samym ekranie, a wyskakujące okienko je pokrywa. Ale kiedy klikam na popup, kontrolki/widoki z tyłu są klikane. Jak to wyłączyć?jak wyłączyć widoki za względnym układem wyskakujących okienek - Android

(Jednym rozwiązaniem mam jest, aby wszystkie poglądy i setClickable = false.)

Ale szukam jakiegoś innego rozwiązania, jak dostać się skupić na bieżącym widoku tak, że inne poglądy są ustawione wyłączone.

Odpowiedz

2

Zastosowanie Dialog. Myślę, że to najlepsze rozwiązanie dla pop-upów.

final Dialog dialog = new Dialog(NewEntryActivity.this); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(R.layout.interview_tab6_popup_drink_containg_alcohol); 
dialog.setCancelable(true); 
dialog.setCanceledOnTouchOutside(true); 
1

Do tego dokonać RelativeLayout do BringToFront()

i wprowadzić inne poglądy SetEnabled(false)

2

Aktywuj setOnClickListener() do RelativeLayout object.This łapie wszystkie kliknięcia i zapobiega sterowania/widoki za uzyskiwanie kliknięciu.

np: -

RelativeLayout rObj = (RelativeLayout) findViewById(R.id.yourRelativeLayout); 
    rObj.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // filter touches when underlying view is Obscured by this view. 
     } 
    }); 
5

miałem ten sam problem, i wreszcie zamiast ustawiania wszystkiego za jako klikalny = false, po prostu dodaje klikalne = prawda do popup układ i to naprawił. Klikalne widoki za wyskakującym okienkiem nie odpowiadają już na zdarzenia kliknięcia za pomocą wyskakującego okienka. :) I nawet nie musiałem zmieniać mojego okna w okno dialogowe. :)

Powiązane problemy