您好,登錄后才能下訂單哦!
編碼實現
**ToastUtils.java**
public class ToastUtils { private static Toast mToast; public static void showShortText(String text){ showText(text,Toast.LENGTH_SHORT); } public static void showLongText(String text){ showText(text,Toast.LENGTH_LONG); } public static void showText(String text,int duration){ if (TextUtils.isEmpty(text)){ return; } TextView tvText; if (mToast == null){ mToast = Toast.makeText(MyApplication.getContext(), "", Toast.LENGTH_SHORT); final View toastLayout = ((LayoutInflater) MyApplication.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)) .inflate(R.layout.toast_layout, null); tvText = toastLayout.findViewById(R.id.toast_text); mToast.setView(toastLayout); }else { mToast.cancel(); mToast = Toast.makeText(MyApplication.getContext(), "", Toast.LENGTH_SHORT); final View toastLayout = ((LayoutInflater) MyApplication.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)) .inflate(R.layout.toast_layout, null); tvText = toastLayout.findViewById(R.id.toast_text); mToast.setView(toastLayout); } mToast.setDuration(duration); tvText.setText(text); mToast.show(); } // 普通方法..... public static void showToast(String msg, int duration) { mToast = Toast.makeText(MyApplication.getContext(), "", duration); mToast.setText(msg); mToast.show(); } } ``` **toast_layout.xml** ```clike <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/toast_root" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/bg_toast"> <TextView android:textSize="13.5sp" android:textColor="@color/white" android:paddingLeft="12dp" android:paddingRight="12dp" android:paddingTop="8dp" android:paddingBottom="8dp" android:id="@+id/toast_text" android:layout_gravity="center_horizontal" android:shadowColor="#BB000000" android:shadowRadius="2.75" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
**bg_toast**
<?xml version="1.0" encoding="utf-8"?> <shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="6dp"/> <solid android:color="#cc555555" /> </shape>
使用
ToastUtils.showShortText("1111");
總結
自定義背景效果還是比較簡單的,有利于統一機型效果,不是很復雜。主要是從toast源碼提供的api我們進行了相應的擴展,容易的實現是建立在對原理的理解與運用上的,多多注重基礎,一起前進。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。