2016-03-22 21 views
-2

Tam ekran fragmanım var. Gösterilirken, arka plan nesneleri tıklanabilir veya kullanıcıyla etkileşimde olabilir. Bundan nasıl kurtulurum? İşte Android Tam Ekran Fragmanı İletişim Kutusu Tıklanabilir

i iletişim göstermek nasıl kod parçasıdır:

MainActivity.java

FullScreenFrDialog fr = new FullScreenFrDialog(); 

FragmentTransaction tr = getSupportFragmentManager().beginTransaction(); 
tr.add(android.R.id.content, fr, FR_TAG).commit(); 

FullScreenFrDialog.java

public class FullScreenFrDialog extends DialogFragment { 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container,  Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.dialog, container, false); 
    return view; 
} 

}

dialog.xml

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#CCFFFFFF" > 

<ImageView 
    android:layout_gravity="center" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 

</FrameLayout> 

main_activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/hello_world" /> 

</RelativeLayout> 

Bu düğme tıklanabilir iletişim gösterilirken.

Şimdiden teşekkürler.

+0

sadece 'setCancelable (false);' 'inCreateView (...)' 'da şunu ekleyin: –

+0

@MD bunu denedim, ancak tıklanabilir. – ssmm

cevap

1
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:clickable="true" 
android:background="#CCFFFFFF" > 

altındaki öğelere dokunmaları önlemek bu size yardımcı olacağını umuyoruz.

+0

, hızlı yanıt için teşekkürler – ssmm

+0

ve cevabımı kabul ettiğiniz için teşekkürler. –

0

onCreate() numaranızda setCancelable(false) numaralı telefonu arayın. Bu iletişim kutusunun dışına aday eğer kapanış dialog'u önleyecektir hem de

EDIT'e Alternatif

bunu bir geri düğmesi basarak görevden istiyorsanız setCanceledOnTouchOutside(false) arayabilir altında elemanlarına musluk olayları önleyecektir ama yine de, gerçek tıklanabilir anne olun

+0

SetCancelable (false) öğesini onCreate() veya onCreateView() yöntemine koymaya çalıştım ancak çalışmıyor. – ssmm

+0

@ssmm "setCanceledOnTouchOutside (false)" ı denediniz mi? – camelCaseCoder

+1

Ben de denedim, ama aynı zamanda iş yapıyor. Ben showc() yöntemi ile iletişim çağırma ben işe yaramadı düşünüyorum. Yukarıdaki cevap benim için çalışıyor, yardımınız için teşekkür ederiz – ssmm