首页 > 代码库 > Android学习笔记之Toast详解
Android学习笔记之Toast详解
1. 贴一段Android API-Toast
Toast
public class Toast
extends Object
java.lang.Object | |
? | android.widget.Toast |
A toast is a view containing a quick little messagefor the user. The toast class helps you create and show those.
When the view is shown to the user, appears as afloating view over the application. It will never receive focus. The user willprobably be in the middle of typing something else. The idea is to be asunobtrusive as possible, while still showing the user the information you wantthem to see. Two examples are the volume control, and the brief message sayingthat your settings have been saved.
The easiest way to use this class is to call one ofthe static methods that constructs everything you need and returns a new Toastobject.
Developer Guides
For information about creating Toast notifications,read the Toast Notifications developer guide.
Summary
Constants | |
int | LENGTH_LONG Show the view or text notification for a long period of time. |
int | LENGTH_SHORT Show the view or text notification for a short period of time. |
Public constructors | |
Toast(Context context) Construct an empty Toast object. |
Public methods | |
void | cancel() Close the view if it‘s showing, or don‘t show it if it isn‘t showing yet. |
int | getDuration() Return the duration. |
int | getGravity() Get the location at which the notification should appear on the screen. |
float | getHorizontalMargin() Return the horizontal margin. |
float | getVerticalMargin() Return the vertical margin. |
View | getView() Return the view. |
int | getXOffset() Return the X offset in pixels to apply to the gravity‘s location. |
int | getYOffset() Return the Y offset in pixels to apply to the gravity‘s location. |
staticToast | makeText(Context context, int resId, int duration) Make a standard toast that just contains a text view with the text from a resource. |
staticToast | makeText(Context context, CharSequence text, int duration) Make a standard toast that just contains a text view. |
void | setDuration(int duration) Set how long to show the view for. |
void | setGravity(int gravity, int xOffset, int yOffset) Set the location at which the notification should appear on the screen. |
void | setMargin(float horizontalMargin, float verticalMargin) Set the margins of the view. |
void | setText(int resId) Update the text in a Toast that was previously created using one of the makeText() methods. |
void | setText(CharSequence s) Update the text in a Toast that was previously created using one of the makeText() methods. |
void | setView(View view) Set the view to show. |
void | show() Show the view for the specified duration. |
Inherited methods |
From class java.lang.Object |
2.中文简介及用法举例
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。下面用一个实例来看看如何使用Toast。
2.1 默认效果
代码
Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show();
2.2 自定义显示位置效果
代码
toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
2.3 带图片效果
代码
toast = Toast.makeText(getApplicationContext(), "带图片的Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); LinearLayout toastView = (LinearLayout) toast.getView(); ImageView imageCodeProject = new ImageView(getApplicationContext()); imageCodeProject.setImageResource(R.drawable.icon); toastView.addView(imageCodeProject, 0); toast.show();
2.4 完全自定义效果
代码
LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.custom, (ViewGroup) findViewById(R.id.llToast)); ImageView image = (ImageView) layout .findViewById(R.id.tvImageToast); image.setImageResource(R.drawable.icon); TextView title = (TextView) layout.findViewById(R.id.tvTitleToast); title.setText("Attention"); TextView text = (TextView) layout.findViewById(R.id.tvTextToast); text.setText("完全自定义Toast"); toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40); toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show();
2.5 其他线程
代码
new Thread(new Runnable() { public void run() { showToast(); } }).start();
Android学习笔记之Toast详解