2016-09-17 4 views
0

Ich brauche Hintergrund im Dialogfeld hinter dem Bildschirm verwischen. Ich fand eine gute Lösung mit diesem Link https://github.com/tvbarthel/BlurDialogFragment, aber in dieser Bibliothek nicht angeben, wie benutzerdefinierte Ansicht zu integrieren. Hier im Code, der zeigt, dass wir AlertDialog in der OnCreateDialog-Methode erstellen müssen, aber wir können setcontentview() in der onCreateDialog-Methode verwenden.So fügen Sie benutzerdefinierte Ansicht in BlurDialogFragment

@NonNull 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_fragment, null); 
     TextView label = ((TextView) view.findViewById(R.id.textView)); 
     label.setMovementMethod(LinkMovementMethod.getInstance()); 
     Linkify.addLinks(label, Linkify.WEB_URLS); 
     builder.setView(view); 
     return builder.create(); 
    } 
+0

http://tvbarthel.fr/blur-dialog-fragment.html – W4R10CK

Antwort

1

Sie können eine Klasse erstellen, die BlurDialogFragment und in der onCreateView Methode erweitert können Sie Ihre benutzerdefinierten Layout aufzublasen. Siehe nachstehendes Beispiel:

public class CustomDialogFragment extends BlurDialogFragment { 


@Override 
protected boolean isActionBarBlurred() { 
    // Enable or disable the blur effect on the action bar. 
    // Disabled by default. 
    return true; 
} 

@Override 
protected int getBlurRadius() { 
    // Allow to customize the blur radius factor. 
    return 7; 
} 

@Override 
protected boolean isDimmingEnable() { 
    // Enable or disable the dimming effect. 
    // Disabled by default. 
    return false; 
} 


@Override 
public View onCreateView(LayoutInflater inflater, final ViewGroup container, 
         Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.dialog_fragment_layout, container, false); 


    return v; 
} 

Um den Dialog von Ihrer Aktivität zu zeigen:

FragmentManager fragmentManager = getFragmentManager(); 
CustomDialogFragment cdf = new CustomDialogFragment(); 
cdf.show(fragmentManager,"yourTag"); 
Verwandte Themen