Toast在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。
1.默认用法
[html]
view plain
copy
print
?
Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show();
2.Fragment中的用法
[html]
view plain
copy
print
?
Toast.makeText(getActivity(),"网络连接错误,请检察网络设置", Toast.LENGTH_LONG).show();
3.自定义显示位置效果
[html]
view plain
copy
print
?
toast =
Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show();
4.带图片效果
[html]
view plain
copy
print
?
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();
5.完全自定义效果
[html]
view plain
copy
print
?
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();
6.其他线程
Main.java打码
[html]
view plain
copy
print
?
package com.wjq.toast; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; public class Main extends Activity implements OnClickListener { Handler
handler =
new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.btnSimpleToast).setOnClickListener(this); findViewById(R.id.btnSimpleToastWithCustomPosition).setOnClickListener(this); findViewById(R.id.btnSimpleToastWithImage).setOnClickListener(this); findViewById(R.id.btnCustomToast).setOnClickListener(this); findViewById(R.id.btnRunToastFromOtherThread).setOnClickListener(this); } public void showToast() { handler.post(new Runnable() { @Override public void run() { Toast.makeText(getApplicationContext(), "我来自其他线程!",Toast.LENGTH_SHORT).show(); } }); } @Override public void onClick(View v) { Toast
toast =
null; switch (v.getId()) { case R.id.btnSimpleToast: Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show(); break; case R.id.btnSimpleToastWithCustomPosition:
toast =
Toast.makeText(getApplicationContext(), "自定义位置Toast",Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); break; case R.id.btnSimpleToastWithImage:
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(); break; case R.id.btnCustomToast: 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(); break; case R.id.btnRunToastFromOtherThread: new Thread(new Runnable() { public void run() { showToast(); } }).start(); break; } } }
main.xml代码
[html]
view plain
copy
print
?
<?xml version=
"1.0" encoding=
"utf-8"?> <LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android" android:layout_width=
"fill_parent" android:layout_height=
"fill_parent" android:gravity=
"center" android:orientation=
"vertical" android:padding=
"5dip" > <Button android:id=
"@+id/btnSimpleToast" android:layout_width=
"fill_parent" android:layout_height=
"wrap_content" android:text=
"默认" > </Button> <Button android:id=
"@+id/btnSimpleToastWithCustomPosition" android:layout_width=
"fill_parent" android:layout_height=
"wrap_content" android:text=
"自定义显示位置" > </Button> <Button android:id=
"@+id/btnSimpleToastWithImage" android:layout_width=
"fill_parent" android:layout_height=
"wrap_content" android:text=
"带图片" > </Button> <Button android:id=
"@+id/btnCustomToast" android:layout_width=
"fill_parent" android:layout_height=
"wrap_content" android:text=
"完全自定义" > </Button> <Button android:id=
"@+id/btnRunToastFromOtherThread" android:layout_width=
"fill_parent" android:layout_height=
"wrap_content" android:text=
"其他线程" > </Button> </LinearLayout>
custom.xml
[html]
view plain
copy
print
?
<?xml version=
"1.0" encoding=
"utf-8"?> <LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android" android:id=
"@+id/llToast" android:layout_width=
"wrap_content" android:layout_height=
"wrap_content" android:background=
"#ffffffff" android:orientation=
"vertical" > <TextView android:id=
"@+id/tvTitleToast" android:layout_width=
"fill_parent" android:layout_height=
"wrap_content" android:layout_margin=
"1dip" android:background=
"#bb000000" android:gravity=
"center" android:textColor=
"#ffffffff" /> <LinearLayout android:id=
"@+id/llToastContent" android:layout_width=
"wrap_content" android:layout_height=
"wrap_content" android:layout_marginBottom=
"1dip" android:layout_marginLeft=
"1dip" android:layout_marginRight=
"1dip" android:background=
"#44000000" android:orientation=
"vertical" android:padding=
"15dip" > <ImageView android:id=
"@+id/tvImageToast" android:layout_width=
"wrap_content" android:layout_height=
"wrap_content" android:layout_gravity=
"center" /> <TextView android:id=
"@+id/tvTextToast" android:layout_width=
"wrap_content" android:layout_height=
"wrap_content" android:gravity=
"center" android:paddingLeft=
"10dip" android:paddingRight=
"10dip" android:textColor=
"#ff000000" /> </LinearLayout> </LinearLayout> 1 /**
2
*另一种封装方式
3
*
4
*/
5
import android.content.Context;
6
import android.view.Gravity;
7
import android.view.LayoutInflater;
8
import android.view.View;
9
import android.view.ViewGroup;
10
import android.widget.ImageView;
11
import android.widget.LinearLayout;
12
import android.widget.TextView;
13
import android.widget.Toast;
14
15
import com.letv.recorder.R;
16
17
/**
18
* Created by juyanming on 16/7/4.
19
*/
20
public
class ToastUtils {
21
22
/**
23
* 描述:系统Toast
24
*
@param
context 应用上下文
25
*
@param
str 消息框提示的文本内容
26
*/
27
public
void t_default(Context context,String str){
28 Toast.makeText(context, str,
29 Toast.LENGTH_SHORT).show();
30 }
31
32
/**
33
* 描述:自定义图片Toast
34
*
@param
context 应用上下文
35
*
@param
str 消息框提示的文本内容
36
*
@param
imgId 图片id
37
*/
38
public
void t_img(Context context,String str,
int imgId){
39 Toast toast = Toast.makeText(context,
40 "带图片的Toast", Toast.LENGTH_LONG);
41 toast.setGravity(Gravity.CENTER, 0, 0);
42 LinearLayout toastView = (LinearLayout) toast.getView();
43 ImageView imageCodeProject =
new ImageView(context);
44 imageCodeProject.setImageResource(imgId);
45 toastView.addView(imageCodeProject, 0);
46 toast.show();
47 }
48
49
/**
50
*
51
*
@param
context 应用上下文
52
*
@param
str 消息框提示的文本内容
53
*
@param
custom 布局
54
*
@param
llToast viewId
55
*
@param
icon 图片id
56
*
@param
tvImageToast 视图id
57
*
@param
tvTitleToast
58
*
@param
tvTextToast
59
*/
60
public
void t_complete(Context context,String str,
int custom,
int llToast,
int icon,
int tvImageToast,
int tvTitleToast,
int tvTextToast){
61 LayoutInflater inflater = LayoutInflater.from(context);
62 View layout = inflater.inflate(custom,
63 (ViewGroup) findViewById(R.id.llToast));
64 ImageView image = (ImageView) layout
65 .findViewById(tvImageToast);
66 image.setImageResource(icon);
67 TextView title = (TextView) layout.findViewById(tvTitleToast);
68 title.setText("Attention");
69 TextView text = (TextView) layout.findViewById(tvTextToast);
70 text.setText("完全自定义Toast");
71 Toast toast =
new Toast(context);
72 toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
73 toast.setDuration(Toast.LENGTH_LONG);
74 toast.setView(layout);
75 toast.show();
76 }
77 }
转载于:https://www.cnblogs.com/jym-sunshine/p/5641216.html
相关资源:数据结构—成绩单生成器