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