简单的说Toast就是一个弹出窗口,跟Dialog差不多,但它有时间限制。
先看下下面的demo:
package com.example.toastdemo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
/**
* Show the view or text notification for a long period of time. This time could be user-definable.
* 这个方法可以自己设定toast的位置
*/
Toast.makeText(getApplicationContext(), "demo", Toast.LENGTH_LONG).show();
//Toast.makeText(getApplicationContext(), "demo2", Toast.LENGTH_SHORT).show();
}
});
}
}
学习Toast就简单多了,
这就是简单的Toast实例的效果图,使用这种方法出现的Toast的位置是默认的。如果使用的是第一个方法的话就可以自定义Toast的位置。
带图片的toast:
Toast toast = Toast.makeText(getApplicationContext(), "demo3", 3000);
toast.setGravity(Gravity.TOP, 4, 0);
ImageView imageView = new ImageView(getApplicationContext());
imageView.setImageResource(R.drawable.ic_launcher);
LinearLayout toastView = (LinearLayout) toast.getView();
toastView.setOrientation(LinearLayout.HORIZONTAL);
toastView.addView(imageView, 0);
toast.show();
实际上,各种Toast的设置都是一样的,带图片,带标题等的Toast只是在设置Toast之前把Toast的样式设定好就可以了。最终都是用以下代码来设置:
Toast toast= new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER , 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();