package com.jiuqi.njt.widget; import com.jiuqi.njt.R; import com.jiuqi.njt.util.ActivityUtil; import com.jiuqi.njt.util.Constants; import android.content.Context; import android.graphics.drawable.Drawable; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class CustomerToast extends Toast { public CustomerToast(Context context) { super(context); } private Context context; private ImageView imageView; private TextView textView; private LinearLayout toastLayout; public Toast makeText(Context context, int resId, CharSequence text, int duration) { Toast result = new Toast(context); this.context = context; //获取LayoutInflater对象 LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); //由layout文件创建一个View对象 View layout = inflater.inflate(R.layout.customer_toast_layout, null); //实例化ImageView和TextView对象 toastLayout = (LinearLayout) layout.findViewById(R.id.toast_layout); imageView = (ImageView) layout.findViewById(R.id.toast_img); textView = (TextView) layout.findViewById(R.id.toast_tv); if(resId != 0){ imageView.setImageResource(resId); }else{ imageView.setImageResource(R.drawable.warn_icon); } textView.setText(text); setLayoutSize(toastLayout); setImageSize(imageView); setTextviewSize(textView); result.setView(layout); result.setGravity(Gravity.CENTER_VERTICAL, 0, 0); result.setDuration(duration); return result; } private void setLayoutSize(LinearLayout view){ int margin = (int) (ActivityUtil.getWindowWidth(context) * 0.05); Drawable backgroud = view.getBackground(); backgroud.setBounds(0, 0, (int)(margin * 4), (int)(margin * 3)); } private void setImageSize(ImageView view){ LinearLayout.LayoutParams mParams = (android.widget.LinearLayout.LayoutParams) view.getLayoutParams(); mParams.height = (int) (ActivityUtil.getWindowWidth(context) * 0.1); mParams.width = (int) (ActivityUtil.getWindowWidth(context) * 0.1); mParams.setMargins(0, 0, (int) (ActivityUtil.getWindowWidth(context) * 0.05), 0); view.setLayoutParams(mParams); } private void setTextviewSize(TextView view){ Constants.setFontSize(view,(int)(Constants.TITLE_TEXTSIZE * ActivityUtil.getWindowWidth(context) )); } }