1. 程式人生 > >Android Toast 自定義佈局

Android Toast 自定義佈局

在Toast工具類中新增一個子項,用來新增自定義佈局的方法,直接上程式碼

	/**
	 * toast 自定義
	 */
	public Toast showToastFree(Context ctx,String str,int resID){
		toast = Toast.makeText(ctx, str, Toast.LENGTH_SHORT);
		LinearLayout toastView = (LinearLayout) 
             LayoutInflater.from(ctx).inflate(R.layout.toast_hor_view, null);
		ImageView iv = toastView.findViewById(R.id.toast_iv);
		iv.setImageResource(resID);
		TextView tv = toastView.findViewById(R.id.toast_tv);
		tv.setText(str);
		toast.setGravity(Gravity.CENTER,0,0);
		toast.setView(toastView);
		toast.show();
		return toast;
	}

佈局 toast_hor_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:orientation="horizontal"
    android:background="@drawable/shape_corner"
    android:paddingEnd="12dp"
    android:paddingStart="8dp"
    android:paddingTop="6dp"
    android:paddingBottom="6dp"
    android:layout_height="50dp">

    <ImageView
        android:id="@+id/toast_iv"
        android:layout_width="35dp"
        android:layout_gravity="center_vertical"
        android:layout_height="35dp" />

    <TextView
        android:id="@+id/toast_tv"
        android:layout_marginLeft="10dp"
        android:textColor="@color/white"
        android:textSize="18sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="00000"/>

</LinearLayout>

佈局圓角背景 shape_corner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#9703A9F4" />
    <corners android:topLeftRadius="12dp"
        android:topRightRadius="12dp"
        android:bottomRightRadius="12dp"
        android:bottomLeftRadius="12dp"/>
    <stroke android:width="1dp" android:color="#000000" />
</shape>