Toast没有焦点,不能进行交互。
一些不重要的信息,可以通过Toast来显示
浮动 android:windowIsFloat 窗口化
- Toast toast = Toast.makeText(Context context,String text,int duration);
- toast.show();//不要掉了
Toast必须在UI(主线程)线程中显示
同时只能有一个Toast显示在界面上
Toast也可以使用构造方法去创建,但是必须手动设置视图( setView )和显示时间
( setDuration )
通过Gravity设置对其方式和是否全屏。
四种样式的Toast示例如下图:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void toast1(View v) {
// Studio会报错
Toast.makeText(this, "普通的Toast", Toast.LENGTH_SHORT).show();
}
public void toast2(View v) {
// Studio会报错
Toast toast = Toast.makeText(this, "我是一个居中的Toast", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, -300, 300);
toast.show();
}
public void toast3(View v) {
// 自定义布局,使用new的方法来创建对象
Toast toast = new Toast(this);
// 一定需要设置的1. 视图 2.时间
View view = View.inflate(this, R.layout.toast_layout, null);
// 在View的范围内去找tv
TextView tv1 = (TextView) view.findViewById(R.id.tv1);
TextView tv2 = (TextView) view.findViewById(R.id.tv2);
tv1.setText("提示");
tv2.setText("再按一次推出");
toast.setView(view);
// 必须设置
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
// //不是静态方法Toast.makeText(this, "?创建的禁用该方法
// toast.setText(resId);
}
public void toast4(View v) {
Toast toast = new Toast(this);
TextView view = (TextView) View.inflate(this,
android.R.layout.simple_list_item_1, null);
toast.setView(view);
view.setBackgroundColor(Color.YELLOW);
view.setText("再按一次退出");
view.setGravity(Gravity.CENTER);
toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.TOP, 0, 200);
toast.setDuration(Toast.LENGTH_SHORT);
toast.show();
}
}
xml中的设置:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="toast1"
android:text="普通的Toast" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="toast2"
android:text="Gravity的Toast" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="toast3"
android:text="自定义布局" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="toast4"
android:text="仿美拉" />
</LinearLayout>
自定义样式中的xml设置
<?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="match_parent"
android:background="@android:color/holo_blue_light"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>