带有颜色的自定义吐司问题

Issue with custom Toast with color

我试图制作一个背景为“橙色”的自定义吐司,但是,在尝试中我能够得到它,但该字段也变成白色并且文本不可见,我附上了图片

可以看到文字不可见

这是我的代码:

            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();

我只希望文本为白色。 是我在代码中缺少的东西,我无法正确处理。 另外,有没有办法让“+”号加粗g

只需更改此行

  t.setBackgroundColor(Color.parseColor("#FFFFFF"));

   t.setTextColor(Color.parseColor("#FFFFFF"));

我这里的模式有一些变化:

TextView t = toast.getView().findViewById(android.R.id.message);
            t.setTextColor(Color.WHITE);

我已将其保存为 textView,并且能够获得 setTextColor 方法并且能够更改颜色

请研究开发者的这篇文档android
https://developer.android.com/guide/topics/ui/notifiers/toasts.html#javahttps://developer.android.com/guide/topics/ui/notifiers/toasts.html#java

试试这个 - customttoast.xml 是您的自定义 toast xml 并且 custom_toast_layout 可以是您的 activity 布局 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();