Android 上的自定义祝酒词: 一个简单的例子

我是 Android 编程的新手。在 Android 上显示自定义祝酒词通知的一个简单例子是什么?

168112 次浏览

第一步:

首先在 res/layout/custom_toast.xml中为自定义吐司创建一个布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_layout_id"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFF"
android:orientation="horizontal"
android:padding="5dp" >


<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#000" />


</LinearLayout>

步骤2: 在活动代码中,获取上面的自定义视图并附加到 Toast:

// Get your custom_toast.xml ayout
LayoutInflater inflater = getLayoutInflater();


View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) findViewById(R.id.custom_toast_layout_id));


// set a message
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Button is clicked!");


// Toast...
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();

如需更多帮助,请看我们如何在 Android 中创建自定义吐司:

Http://developer.android.com/guide/topics/ui/notifiers/toasts.html

使用以下代码的自定义吐司。它可能会帮助你。

Xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:background="#DAAA" >


<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginRight="10dp" />


<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textColor="#FFF" />


</LinearLayout>

MainActivity.java

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
(ViewGroup) findViewById(R.id.toast_layout_root));


ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello! This is a custom toast!");


Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();

并检查下面的链接也为自定义吐司。

模拟时钟自定义吐司

YouTube: 在 Android Studio 中用按钮创建自定义吐司

看看链接 给你。你找到了你的解决方案。并尝试:

创建自定义吐司视图

如果一条简单的文本消息还不够,您可以为您的祝酒词通知创建一个自定义布局。若要创建自定义布局,请用 XML 或应用程序代码定义 View 布局,并将根 View 对象传递给 setView (View)方法。

例如,您可以使用下面的 XML (保存为祝酒词 _ layout.XML)创建屏幕截图右侧可见的祝酒词的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:background="#DAAA"
>


<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="10dp"
/>


<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#FFF"
/>
</LinearLayout>

请注意,LinearLayout 元素的 ID 是“ toast _ layout”。您必须使用这个 ID 从 XML 扩充布局,如下所示:

 LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
(ViewGroup) findViewById(R.id.toast_layout_root));


ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello! This is a custom toast!");


Toast toast = new Toast(context); // context should be view's Parent
toast.setGravity(Gravity.CENTER, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();

首先,使用 getLayoutInflater ()(或 getSystemService ())检索 LayoutInflater,然后使用膨胀(int,ViewGroup)从 XML 中膨胀布局。第一个参数是布局资源 ID,第二个参数是根视图。您可以使用这个膨胀的布局在布局中找到更多的 View 对象,因此现在捕获并定义 ImageView 和 TextView 元素的内容。最后,创建一个新的 Toast with Toast (Context)并设置吐司的一些属性,如重力和持续时间。然后调用 setView (View)并将膨胀布局传递给它。现在可以通过调用 show ()来显示带有自定义布局的烤面包片。

注意: 不要使用 Toast 的公共构造函数,除非您要使用 setView (View)定义布局。如果没有要使用的自定义布局,则必须使用 makText (Context,int,int)来创建 Toast。

我认为互联网上大多数定制的 xml 示例都基于同一个源。

Android 文档,在我看来已经过时了。不应再使用 fill _ father。我更喜欢将 wra _ content 与 xml 9.png 结合使用。通过这种方式,您可以定义所提供源的整个大小中的 toastback 的最小大小。

如果需要更复杂的祝酒词,应该使用框架或相对布局来代替 LL。

Xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/points_layout"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:layout_gravity="center"
android:gravity="center" >


<TextView
android:id="@+id/points_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_margin="15dp"
android:text="@+string/points_text"
android:textColor="@color/Green" />


</LinearLayout>

Xml

<?xml version="1.0" encoding="utf-8"?>
<nine-patch
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background_96"
android:dither="true"/>

Behind _ 96是 behind _ 96.9.png。

这并没有经过很好的测试,提示是值得欣赏的:)

祝酒词是用来在短时间内显示消息的; 因此,根据我的理解,您可以通过添加图像和更改消息文本的大小和颜色来对其进行定制。如果这就是您想要做的全部工作,那么就没有必要制作一个单独的布局并将其膨胀到 Toast 实例。

默认的 Toast 视图包含一个用于显示消息的 TextView。因此,如果我们有 TextView的资源 ID 引用,我们就可以使用它。因此,下面是你可以做些什么来实现这一点:

Toast toast = Toast.makeText(this, "I am custom Toast!", Toast.LENGTH_LONG);
View toastView = toast.getView(); // This'll return the default View of the Toast.


/* And now you can get the TextView of the default View of the Toast. */
TextView toastMessage = (TextView) toastView.findViewById(android.R.id.message);
toastMessage.setTextSize(25);
toastMessage.setTextColor(Color.RED);
toastMessage.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_fly, 0, 0, 0);
toastMessage.setGravity(Gravity.CENTER);
toastMessage.setCompoundDrawablePadding(16);
toastView.setBackgroundColor(Color.CYAN);
toast.show();

在上面的代码中,您可以通过 setCompoundDrawablesWithIntrinsicBounds(int left, int top, int right, int bottom)将图像添加到 TextView 中,相对于 TextView 的任何位置都可以。

更新:

已经编写了一个生成器类来简化上述目的; 下面是链接: Https://gist.github.com/thelittlenaruto/6fc8f6a2b0d0583a240bd78313ba83bc

检查上面链接中的 HowToUse.kt

产出:

Enter image description here

这是我用过的

AllMethodsInOne.java

public static Toast displayCustomToast(FragmentActivity mAct, String toastText, String toastLength, String succTypeColor) {


final Toast toast;


if (toastLength.equals("short")) {
toast = Toast.makeText(mAct, toastText, Toast.LENGTH_SHORT);
} else {
toast = Toast.makeText(mAct, toastText, Toast.LENGTH_LONG);
}


View tView = toast.getView();
tView.setBackgroundColor(Color.parseColor("#053a4d"));
TextView mText = (TextView) tView.findViewById(android.R.id.message);


mText.setTypeface(applyFont(mAct));
mText.setShadowLayer(0, 0, 0, 0);


tView.setOnClickListener(new View.OnClickListener() {


@Override
public void onClick(View v) {
toast.cancel();
}
});
tView.invalidate();
if (succTypeColor.equals("red")) {
mText.setTextColor(Color.parseColor("#debe33"));
tView.setBackground(mAct.getResources().getDrawable(R.drawable.toast_rounded_red));
// this is to show error message
}
if (succTypeColor.equals("green")) {
mText.setTextColor(Color.parseColor("#053a4d"));
tView.setBackground(mAct.getResources().getDrawable(R.drawable.toast_rounded_green));
// this is to show success message
}




return toast;
}

YourFile.java

打电话的时候只要写下面就行了。

AllMethodsInOne.displayCustomToast(act, "This is custom toast", "long", "red").show();

您可以下载代码 给你

第一步:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">


<Button
android:id="@+id/btnCustomToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Custom Toast" />
</RelativeLayout>

第二步:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">


<ImageView
android:id="@+id/custom_toast_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"/>


<TextView
android:id="@+id/custom_toast_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My custom Toast Example Text" />


</LinearLayout>

第三步:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {




private Button btnCustomToast;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCustomToast= (Button) findViewById(R.id.btnCustomToast);
btnCustomToast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {


// Find custom toast example layout file
View layoutValue = LayoutInflater.from(MainActivity.this).inflate(R.layout.android_custom_toast_example, null);
// Creating the Toast object
Toast toast = new Toast(getApplicationContext());
toast.setDuration(Toast.LENGTH_SHORT);


// gravity, xOffset, yOffset
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setView(layoutValue);//setting the view of custom toast layout
toast.show();
}
});
}
}

Java 文件的代码。

package com.android_examples.com.toastbackgroundcolorchange;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {


Button BT;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


BT = (Button)findViewById(R.id.button1);
BT.setOnClickListener(new View.OnClickListener() {


@Override
public void onClick(View v) {


Toast ToastMessage = Toast.makeText(getApplicationContext(),"Change Toast Background color",Toast.LENGTH_SHORT);
View toastView = ToastMessage.getView();
toastView.setBackgroundResource(R.layout.toast_background_color);
ToastMessage.show();


}
});
}
}

Activity _ main.xml 布局文件的代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.android_examples.com.toastbackgroundcolorchange.MainActivity" >


<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="CLICK HERE TO SHOW TOAST MESSAGE WITH DIFFERENT BACKGROUND COLOR INCLUDING BORDER" />


</RelativeLayout>

在 res-> 布局文件夹中创建的 toast _ back _ color. xml 布局文件的代码。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >


<stroke
android:width="3dp"
android:color="#ffffff" ></stroke>
<padding android:left="20dp" android:top="20dp"
android:right="20dp" android:bottom="20dp" />
<corners android:radius="10dp" />
<gradient android:startColor="#ff000f"
android:endColor="#ff0000"
android:angle="-90"/>


</shape>

自定义烤面包布局,custom_toast.xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Custom Toast"
android:gravity="center"
android:id="@+id/custom_toast_text"
android:typeface="serif"
android:textStyle="bold"
/>
</LinearLayout>

Java 方法(只需向这个方法传递祝酒词消息) :

public void toast(String message)
{
Toast toast = new Toast(context);
View view = LayoutInflater.from(context).inflate(R.layout.image_custom, null);
TextView textView = (TextView) view.findViewById(R.id.custom_toast_text);
textView.setText(message);
toast.setView(view);
toast.setGravity(Gravity.BOTTOM|Gravity.CENTER, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
}

//一个自定义烤面包类,您可以根据需要显示自定义或默认烤面包)

public class ToastMessage {
private Context context;
private static ToastMessage instance;


/**
* @param context
*/
private ToastMessage(Context context) {
this.context = context;
}


/**
* @param context
* @return
*/
public synchronized static ToastMessage getInstance(Context context) {
if (instance == null) {
instance = new ToastMessage(context);
}
return instance;
}


/**
* @param message
*/
public void showLongMessage(String message) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}


/**
* @param message
*/
public void showSmallMessage(String message) {
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}


/**
* The Toast displayed via this method will display it for short period of time
*
* @param message
*/
public void showLongCustomToast(String message) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
View layout = inflater.inflate(R.layout.layout_custom_toast, (ViewGroup) ((Activity) context).findViewById(R.id.ll_toast));
TextView msgTv = (TextView) layout.findViewById(R.id.tv_msg);
msgTv.setText(message);
Toast toast = new Toast(context);
toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();




}


/**
* The toast displayed by this class will display it for long period of time
*
* @param message
*/
public void showSmallCustomToast(String message) {


LayoutInflater inflater = ((Activity) context).getLayoutInflater();
View layout = inflater.inflate(R.layout.layout_custom_toast, (ViewGroup) ((Activity) context).findViewById(R.id.ll_toast));
TextView msgTv = (TextView) layout.findViewById(R.id.tv_msg);
msgTv.setText(message);
Toast toast = new Toast(context);
toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
}


}

自定义吐司的简单方法,

private void MsgDisplay(String Msg, int Size, int Grav){
Toast toast = Toast.makeText(this, Msg, Toast.LENGTH_LONG);
TextView v = (TextView) toast.getView().findViewById(android.R.id.message);
v.setTextColor(Color.rgb(241, 196, 15));
v.setTextSize(Size);
v.setGravity(Gravity.CENTER);
v.setShadowLayer(1.5f, -1, 1, Color.BLACK);
if(Grav == 1){
toast.setGravity(Gravity.BOTTOM, 0, 120);
}else{
toast.setGravity(Gravity.BOTTOM, 0, 10);
}
toast.show();
}

为了避免布局参数没有得到正确使用的问题,您需要确保在自定义布局充气时指定了正确的 ViewGroup 作为父节点。

许多示例在这里传递 null,但是您可以将现有的 ToastViewGroup 作为父节点传递。

val toast = Toast.makeText(this, "", Toast.LENGTH_LONG)
val layout = LayoutInflater.from(this).inflate(R.layout.view_custom_toast, toast.view.parent as? ViewGroup?)
toast.view = layout
toast.show()

在这里,我们将现有的 Toast 视图替换为自定义视图。一旦你有一个参考你的布局“布局”,然后你可以更新任何图片/文字视图,它可能包含。

此解决方案还防止任何“未附加到窗口管理器的视图”使用 null 作为父级崩溃。

另外,避免使用 ConstraintLayout 作为自定义布局根目录,在 Toast 中使用时,这似乎不起作用。

val inflater = layoutInflater
val container: ViewGroup = findViewById(R.id.custom_toast_container)
val layout: ViewGroup = inflater.inflate(R.layout.custom_toast, container)
val text: TextView = layout.findViewById(R.id.text)
text.text = "This is a custom toast"
with (Toast(applicationContext)) {
setGravity(Gravity.CENTER_VERTICAL, 0, 0)
duration = Toast.LENGTH_LONG
view = layout
show()
}


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_container"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="8dp"
android:background="#DAAA"
>
<ImageView android:src="@drawable/droid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFF"
/>
</LinearLayout>

参考资料: https://developer.android.com/guide/topics/ui/notifiers/toasts

所有 Kotlin 用户

您可以创建如下扩展:

fun FragmentActivity.showCustomToast(message : String,color : Int) {
val toastView = findViewById<TextView>(R.id.toast_view)
toastView.text = message
toastView.visibility = View.VISIBLE
toastView.setBackgroundColor(color)


// create a daemon thread
val timer = Timer("schedule", true)


// schedule a single event
timer.schedule(2000) {
runOnUiThread { toastView.visibility = View.GONE }
}
}

创建我们自己的定制 Toast非常简单。

只要按照下面的步骤。

第一步

创建所需的自定义布局

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/black"
android:orientation="vertical"
android:padding="@dimen/size_10dp"
app:cardCornerRadius="@dimen/size_8dp"
app:cardElevation="@dimen/size_8dp">


<TextView
android:id="@+id/txt_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/size_12dp"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="@dimen/text_size_16sp"
tools:text="Hello Test!!" />


</androidx.cardview.widget.CardView>

第二步

现在创建与 Toast一起扩展的自定义类。

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;


import com.shop.shoppinggare.R;


import org.apache.commons.lang3.StringUtils;
import org.w3c.dom.Text;


public class CustomToast extends Toast {
private Context context;
private String message;


public CustomToast(Context context, String message) {
super(context);
this.context = context;
this.message = message;
View view = LayoutInflater.from(context).inflate(R.layout.toast_custom, null);
TextView txtMsg = view.findViewById(R.id.txt_message);
txtMsg.setText(StringUtils.capitalize(message));
setView(view);
setDuration(Toast.LENGTH_LONG);


}




}

我们创造了定制的祝酒词。

第三步

现在,最后,我们如何使用它。

new CustomToast(contex,"message").show();

好好享受吧!

注意,Android 11中的祝酒词更新

来自背景的自定义祝酒词被屏蔽,安卓11保护 不推荐自定义吐司视图。出于安全原因, 保持良好的用户体验,系统块祝酒词包含 如果这些祝酒词是通过应用程序从后台发送的,就可以自定义视图 目标是安卓11。

在 Android R 中添加的 addCallback () 方法如果您希望在吐司(文本或自定义)出现或消失时得到通知。

吐司空气污染指数变化中最重要的文本是 针对 Android 11的应用程序getView()方法在你访问它时返回 null,所以,确保保护你的应用程序免受致命的例外,你知道我的意思:)

如果可以的话,用零食吧代替。

建议尽可能使用快餐吧。如果 你的应用程序的用例阻止你使用快餐吧,比如什么时候 你需要给用户发送一个消息,而你的应用程序在 背景,你仍然可以使用文本祝酒词,因为他们不是 受到新行为变化的限制。

有关该主题的更多细节,请参见 官方文件

使用这个名为 烤面包的库,我认为您具有足够的灵活性,可以通过以下方法进行定制祝酒词-

Toasty.custom(yourContext, "I'm a custom Toast", yourIconDrawable, tintColor, duration, withIcon,
shouldTint).show();

也可以将 格式化文本传递给 烤面包,这里是 代码片段

自定义吐司工作代码

    public class Toaster {


private Context context;
private Font font;


public Toaster(Context context) {
this.context = context;


font = new Font(context);
}


public void makeToast(String bread) {
Toast.makeText(context, bread, Toast.LENGTH_SHORT).show();
}


public void makeLongToast(String bread) {
Toast.makeText(context, bread, Toast.LENGTH_LONG).show();
}


public void makeCustomViewToast(String bread, ToastType toastType) {
View toastView = ((Activity) context).getLayoutInflater().inflate(R.layout.toaster_toast_card_layout, null, false);
CardView toastCardView = toastView.findViewById(R.id.toaster_toast_card_view);
ImageView toastIcon = toastView.findViewById(R.id.toaster_toast_image_view);
TextView toastTextView = toastView.findViewById(R.id.toaster_toast_text_view);


int color = context.getResources().getColor(toastType.getColor());
toastCardView.setCardBackgroundColor(color);


toastTextView.setTypeface(font.saralaBold);
toastTextView.setText(bread);


Drawable icon = context.getResources().getDrawable(toastType.getIcon());
toastIcon.setImageDrawable(icon);


Toast toast = Toast.makeText(context, Text.EMPTY, Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, (int) (InterfaceUtil.getScreenHeight(context) * 0.25f));
toast.setView(toastView);
toast.show();
}


}