论坛首页 移动开发技术论坛

Android杂谈---各种Toast

浏览 6444 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-07-30  

相信各位对这个Toast已经了解的差不多了,不过我们还可以定义各种各样的toast,废话不多说了,看代码

 

package com.loulijun.mytoasts;

import com.loulijun.toasts.R;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

public class ToastsActivity extends Activity {
	private Button btn01,btn02,btn03,btn04;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn01 = (Button)findViewById(R.id.toast01);
        btn02 = (Button)findViewById(R.id.toast02);
        btn03 = (Button)findViewById(R.id.toast03);
        btn04 = (Button)findViewById(R.id.toast04);

       //默认的Toast
        btn01.setOnClickListener(new Button.OnClickListener()
        {

			public void onClick(View v) {
				Toast toast = Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_LONG);
				toast.setGravity(Gravity.CENTER, toast.getXOffset()/2, toast.getYOffset()/2);
				toast.show();
			}
        	
        });
        //只有图片的Toast
        btn02.setOnClickListener(new Button.OnClickListener()
        {
			public void onClick(View v) {
				Toast toast = new Toast(ToastsActivity.this);
				toast.setDuration(Toast.LENGTH_LONG);
				ImageView img = new ImageView(ToastsActivity.this);
				img.setImageResource(R.drawable.yuanyuan);
				toast.setView(img);
				toast.show();
			}
        	
        });
        //带图片文字的Toast
        btn03.setOnClickListener(new Button.OnClickListener()
        {
			public void onClick(View v) {
				Toast toast = Toast.makeText(getApplicationContext(), "有图有字的Toast", Toast.LENGTH_LONG);
				LinearLayout layout = (LinearLayout)toast.getView();
				ImageView img = new ImageView(getApplicationContext());
				img.setImageResource(R.drawable.gao);
				layout.addView(img,0);
				toast.show();
			}
        	
        });
        //自定义Toast,自己设计布局文件
        btn04.setOnClickListener(new Button.OnClickListener()
        {
			public void onClick(View v) {
				LayoutInflater li=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			    View view=li.inflate(R.layout.pictoast,null);
				Toast toast = new Toast(ToastsActivity.this);
				toast.setView(view);
				toast.show();
			}
        	
        });
    }
}

 这个是自定义的Toast的布局,你可以定义不同类型的Toast

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <ImageView
    	android:id="@+id/imgview"
    	android:layout_width="wrap_content" 
    	android:layout_height="wrap_content"
    	android:src="@drawable/gao"
    />
    <TextView
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="带图片文字的Toast" 
    />
</LinearLayout>

 

 

 

 

 
  • 大小: 44 KB
  • 大小: 44.7 KB
  • 大小: 49.5 KB
  • 大小: 87.4 KB
   发表时间:2011-08-01  
缘来才知道,Toast 还有这么多玩法。。。
0 请登录后投票
   发表时间:2011-08-02  
不错不错
0 请登录后投票
   发表时间:2011-08-03  
额 学习了 以前只知道有长时间的toast和短时间的toast
0 请登录后投票
   发表时间:2011-08-08  
知道不少,但是不明白為什麼toast代碼要搞的那麼長

還不如system.out.println呢
0 请登录后投票
   发表时间:2011-09-07  
sfshine 写道
知道不少,但是不明白為什麼toast代碼要搞的那麼長

還不如system.out.println呢


晕 toast设计出来又不是拿给你调试用的,主要是用来提示使用软件的人的,syso用户看得到吗?
0 请登录后投票
   发表时间:2011-09-07  
能不能把main.xml给贴出来呀 。。。
先谢谢啦 。。。。
0 请登录后投票
   发表时间:2011-09-07  
写了一下 第四个 有错呀
0 请登录后投票
   发表时间:2011-09-13  
APIs上面有,总结的挺全面
0 请登录后投票
   发表时间:2011-11-03  
呵呵,一直就只用长时间和短时间的toast了。学习了
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics