Making a Color Toast in Android

此生再无相见时 提交于 2019-12-25 03:05:13

问题


I have seen sometimes a Blue toast showing up when i connect my Samsung phone with wifi network. Can anyone help for customising the colour of the toast.

For example:


回答1:


Try This:-

SpannableString text = new SpannableString("Please Wait !!!!! ");  


        text.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 41, 0);  
        Toast.makeText(c.getApplicationContext(),text , Toast.LENGTH_LONG).show();

Another Way:- Make an xml / customToast.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/toast_layout"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:padding="8dp"
              android:background="#DAAA"
              >
    <ImageView android:src="@drawable/img1"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginRight="8dp"
               />
    <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textColor="#FFF"
              />
</LinearLayout>

In Activity:-

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.customToast,
                               (ViewGroup) findViewById(R.id.toast_layout));

TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("This is a custom toast");

Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();



回答2:


Like this way:

LayoutInflater inflater = youractivity.this.getLayoutInflater();
            View layout = inflater.inflate(R.layout.custom_toast,
                    null);
            TextView text = (TextView) layout.findViewById(R.id.tvtoast);
            text.setText("No Internet Connection");
            text.setTextColor(Color.BLACK);
            Toast toast = new Toast(getActivity());
            toast.setView(layout);
            toast.setDuration(100);
            toast.show();

Make your own layout custom_toast.xml and set Color to TextView Text as per your need

Output:




回答3:


You can create a custom Toast view to suit your requirements. See the section titled "Creating a Custom Toast View" at http://developer.android.com/guide/topics/ui/notifiers/toasts.html



来源:https://stackoverflow.com/questions/21899722/making-a-color-toast-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!