J'essaie de faire un toast personnalisé avec le fond "Orange Color", cependant, dans la tentative que je suis capable de l'obtenir, mais le champ devient également blanc et que le texte n'est pas visible, j'ai joint l'image
Vous pouvez voir que le texte n'est pas visible. P>
Voici mon code: P>
String g= "+"; Toast toast = Toast.makeText(getActivity(), "Click and hold on '"+g+"' icon", Toast.LENGTH_SHORT); View view= toast.getView(); view.setBackgroundColor(Color.parseColor("#FF791B")); View t = toast.getView().findViewById(android.R.id.message); t.setBackgroundColor(Color.parseColor("#FFFFFF")); toast.show();
4 Réponses :
à strud> p>
Il semble que la méthode code> .SetTextColor code> n'est pas disponible ici
J'ai le mode quelques modifications ici:
TextView t = toast.getView().findViewById(android.R.id.message); t.setTextColor(Color.WHITE);
Veuillez étudier ce document de développeur Android
https://developer.android.com/guide/topics/ui/notifiers/toastS.ToastS.html#javahtttps://developer.android.com/guide/topics/ui/notifiers/toasts. HTML # Java P>
Essayez ceci - CustomToast.xml est votre toast XML personnalisé et Custom_Toast_Layout peut être votre mise en page d'activité XML
//Creating the LayoutInflater instance LayoutInflater li = getLayoutInflater(); //Getting the View object as defined in the customtoast.xml file View layout = li.inflate(R.layout.customtoast,(ViewGroup) findViewById(R.id.custom_toast_layout)); //Creating the Toast object Toast toast = new Toast(getApplicationContext()); toast.setDuration(Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setView(layout);//setting the view of custom toast layout toast.show();
Celui-ci devient long, avec plus de code. Mais cette façon fonctionne vraiment, cependant, le moins de code est bien plus efficace pour l'application basée sur le serveur.