package com.belter.phonedoctor.widget; import android.app.Activity; import android.content.Context; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.belter.myapplication.R; /** * Created by xiaquan on 2017/5/25. */ public class CustomToast { private static TextView mTextView; private static ImageView mImageView; public static void showToast(Context context, String message,int color) { //加载Toast布局 View toastRoot = LayoutInflater.from(context).inflate(R.layout.custom_toast, null); //初始化布局控件 mTextView = (TextView) toastRoot.findViewById(R.id.message); //mImageView = (ImageView) toastRoot.findViewById(R.id.imageView); //为控件设置属性 mTextView.setText(message); //mImageView.setImageResource(R.mipmap.ic_launcher); //Toast的初始化 Toast toastStart = new Toast(context); //获取屏幕高度 DisplayMetrics dm = new DisplayMetrics(); ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm); int mScreenWidth = dm.widthPixels; int mScreenHeight = dm.heightPixels; WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); int height = wm.getDefaultDisplay().getHeight(); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mScreenWidth, 100); mTextView.setLayoutParams(params); mTextView.setBackgroundColor(context.getResources().getColor(color)); //Toast的Y坐标是屏幕高度的1/3,不会出现不适配的问题 toastStart.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0); toastStart.setDuration(Toast.LENGTH_LONG); toastStart.setView(toastRoot); toastStart.show(); }}
------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/dp_100" android:background="@color/verifycode_error" android:orientation="horizontal"> <TextView android:id="@+id/message" android:gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:shadowColor="#bbfcd603" android:shadowRadius="2.75" android:textSize="@dimen/sp_46" android:textColor="@color/white" /> </LinearLayout>
Android 自定义Toast
最新推荐文章于 2024-04-15 23:53:33 发布