J'ai affiché Snackbar en utilisant CoordinatorLayout mais dans une certaine disposition, je n'ai pas utilisé la disposition CoordinatorLayout et je veux afficher le snackbar mais j'ai rencontré des problèmes avec.Affichage Snackbar sans CoordinatorLayout
J'ai essayé la méthode suivante pour obtenir une barre de collation sans CoordinatorLayout mais elle affichera le résultat suivant.
Snackbar.make(getActivity().getWindow().getDecorView().getRootView(), "Testing Snackbar", Snackbar.LENGTH_LONG).show();
test avec Android 8.0 Oreo
Est-il possible d'atteindre sans CoordinatorLayout Snack-bar?
Merci d'avance.
Code
public class FirstFragment extends Fragment {
RelativeLayout rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_first, container, false);
Log.e("onCreateView", "onCreateView");
rootView = (RelativeLayout)view.findViewById(R.id.rootView);
setSnackBar(rootView, "Testing with answered");
return view;
}
public static void setSnackBar(View coordinatorLayout, String snackTitle) {
Snackbar snackbar = Snackbar.make(coordinatorLayout, snackTitle, Snackbar.LENGTH_SHORT);
snackbar.show();
View view = snackbar.getView();
TextView txtv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
txtv.setGravity(Gravity.CENTER_HORIZONTAL);
}
}
d'abord merci pour la réponse je l'ai essayé, mais il donnera erreur suivant Aucun parent approprié trouvé de la vue donnée. S'il vous plaît fournir une vue valide. –
@NileshPanchal dans mon cas, il travaille pour n'importe quelle vue, je viens de mettre ce code dans ma classe Utils et appelé cette méthode, et ça fonctionne comme charme –
@NileshPanchal avez-vous fournir et trouver votre parent vue avec id ?? –