答案 0 :(得分:3)
点击此链接:https://github.com/gfranks/GFMinimalNotifications,这就是我想要的,它对我来说很好。
输出:
或者您可以像这样准备自定义吐司:
View layout = getLayoutInflater().inflate(R.layout.customtoast,
(ViewGroup) findViewById(R.id.custom_toast_layout));
Toast toast = new Toast(getApplicationContext());
toast.setDuration(Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP, 0, 0);
toast.setView(layout);
toast.show();
答案 1 :(得分:2)
您可以使用 crouton 来实现此目的。
说明 :
Crouton将显示在开发人员决定的位置。 标准将是应用程序窗口的顶部。你可以排队 多个用于显示的面包丁,将一个接一个地显示
为任何CharSequence创建一个Crouton:
Crouton.makeText(Activity, CharSequence, Style).show();
more details on Crouton,针对Android的上下文敏感通知
有很多可以用来干杯的描述here
答案 2 :(得分:1)
试试这个::
Toast toast= Toast.makeText(getApplicationContext(),
"Your string here", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
为职位
添加此行 toast.setGravity(Gravity.TOP, 0, 0);
答案 3 :(得分:0)
creat自定义toast布局,toast.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/yellow"
android:layout_width="match_parent"
android:padding="8dp"
android:gravity="center"
android:textSize="32sp"
android:layout_height="256dp"/>
使用上面的布局创建吐司:
static Toast t;
public static void show(Context c, String s) {
if (t == null) {
t = new Toast(c.getApplicationContext());
t.setGravity(Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
LayoutInflater inflater = LayoutInflater.from(c);
TextView v = (TextView) inflater.inflate(R.layout.toast, null);
t.setView(v);
t.setDuration(Toast.LENGTH_LONG);
}
TextView v = (TextView) t.getView();
v.setText(s);
t.show();
}
答案 4 :(得分:-1)
如您所见,有许多解决方案。但最简单的方法是在XML布局文件中创建一个布局,并使其不可见。当需要显示此视图时,使其可见并启动动画。