如何在Android中自定义Toast?

是否有可能在Android中进行自定义Toast。 就像我们可以在它放置图像图标和放置button。

Solutions Collecting From Web of "如何在Android中自定义Toast?"

您也可以使用常规的makeText()并处理getView()来设置下一个图像。

Toast toast = Toast.makeText(context, text, Toast.LENGTH_SHORT); TextView tv = (TextView) toast.getView().findViewById(android.R.id.message); if (null!=tv) { tv.setCompoundDrawablesWithIntrinsicBounds(icon, 0, 0, 0); tv.setCompoundDrawablePadding(context.getResources().getDimensionPixelSize(R.dimen.padding_toast)); 

您可以使用setView将任何视图放在Toast中。 不过,我不太清楚为什么要在上面放一个button,因为吐司会迅速消失。 采取从officiel开发商站点:

向用户显示视图时,以应用程序的浮动视图显示。 它永远不会得到重点。 用户可能正在input其他内容。 这个想法是尽可能不显眼,同时仍然向用户显示你希望他们看到的信息。

所以敬酒只能用来显示信息。 对于更复杂的交互,你可以使用一个对话框。

吐司是非专注的。添加button没有意义。 但是,您可以显示信息。您还可以通过在Toast类中进行less量更改来控制其可见性方式,以便隐藏和显示。

在android中显然可以创build自定义的敬酒。 只是检查我的blog.http://androiddesk.wordpress.com/2012/01/28/custom-notification-in-android-with-an-example/我已经详细解释了它。

XML文件

 enter code here`<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="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" /> 

JAVA代码

  LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.custom_toast, (ViewGroup) findViewById(R.id.toast_layout_root)); TextView text = (TextView) layout.findViewById(R.id.text); text.setText("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(); 

烤面包可以定制,以显示在不同的地方,如上,下,中,左,右

  toast.setGravity(Gravity.TOP , 0, 0); // for example setting gravity to top 

更多细节[这里]( http://androidcoding.in/2016/05/31/android-tutorial-custom-toast/ “android custom toast”)