`
yidongkaifa
  • 浏览: 4064460 次
文章分类
社区版块
存档分类
最新评论

Android--强大的Toast实现多种效果

 
阅读更多

我们常常会使用Toast作为提醒的一种方式,可是,Toast不仅能实现最普通的提醒,还能实现很多种自己定制的效果。

1.默认效果

代码

Toast.makeText(getApplicationContext(), "默认Toast样式",
Toast.LENGTH_SHORT).show();

2.自定义显示位置效果

代码

toast = Toast.makeText(getApplicationContext(),
"自定义位置Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();

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();

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();

5.其他线程

代码

new Thread(new Runnable() {
public void run() {
showToast();
}
}).start();

下面,给出一个具体的实例,实现带图标的Toast的。

实现的代码非常简单,如下:

public class EX05_07 extends Activity 
{ 
  private Button mButton01; 
  /** Called when the activity is first created. */ 
  @Override 
  public void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main);
    mButton01 = (Button)findViewById(R.id.myButton1); 
    /*设定Button用OnClickListener启动事件*/
    mButton01.setOnClickListener(new Button.OnClickListener()
    { 
      @Override public void onClick(View v) 
      {
        // TODO Auto-generated method stub 
        ImageView mView01 = new ImageView(EX05_07.this); 
        TextView mTextView = new TextView(EX05_07.this);
        LinearLayout lay = new LinearLayout(EX05_07.this);
        /*设定mTextView去抓取string值*/ 
        mTextView.setText(R.string.app_url); 
        /*判断mTextView的内容为何,并与系统做链接*/
        Linkify.addLinks(mTextView,Linkify.WEB_URLS| Linkify.EMAIL_ADDRESSES|Linkify.PHONE_NUMBERS); 
        /*用Toast方式显示*/ 
        Toast toast = Toast.makeText(EX05_07.this, mTextView .getText(), Toast.LENGTH_LONG); 
        
        View textView = toast.getView(); 
        lay.setOrientation(LinearLayout.HORIZONTAL);
        /*在Toast里加上图片*/
        mView01.setImageResource(R.drawable.icon); 
        /*在Toast里显示图片*/ lay.addView(mView01); 
        /*在Toast里显示文字*/ lay.addView(textView); 
        toast.setView(lay);
        toast.show(); 
        } 
      });
    } 
  }


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics