自定义你的Toast,想让它显示什么都行!!!

 

标签: androidlayoutbuttonencodingxmlclass

     今天说一下常用的一个小控件——Toast。一般用法就不说了,说一种新的用法,让Toast里面完全显示你自定义的View。废话不多说了,开始上代码!

首先是View的xml文件:@drawable/smile_1,这个图片随便自己找一张,放在 res/drawable—hdpi中即可,不要太大,不然不美观。

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.   xmlns:android="http://schemas.android.com/apk/res/android"  
  4.   android:orientation="horizontal"  
  5.   android:layout_width="match_parent"  
  6.   android:layout_height="match_parent">  
  7. <ImageView  
  8.   android:src="@drawable/smile_1"  
  9.   android:layout_width="wrap_content"  
  10.   android:layout_height="wrap_content"/>     
  11. <TextView  
  12.   android:text="欢迎回来"  
  13.   android:textSize="30px"  
  14.   android:textColor="#00ff00"  
  15.   android:layout_width="wrap_content"  
  16.   android:layout_height="wrap_content"/>       
  17. </LinearLayout>  


java代码:

  1. package android.li;  
  1. import android.app.Activity;  
  2. import android.os.Bundle;  
  3. import android.view.Gravity;  
  4. import android.view.View;  
  5. import android.view.View.OnClickListener;  
  6. import android.widget.Button;  
  7. import android.widget.Toast;  
  1. public class NToast extends Activity   
  2. {  
  3.  Button mButton;  
  4.     @Override  
  5.     public void onCreate(Bundle savedInstanceState)   
  6.     {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.main);  
  9.         mButton = (Button) findViewById(R.id.btn);  
  10.         mButton.setOnClickListener(new OnClickListener()   
  11.        {  
  12.      
  13.          @Override  
  14.          public void onClick(View v)   
  15.          {  
  16.           Toast toast_1 = Toast.makeText(NToast.this, "", Toast.LENGTH_LONG);  
  17.           toast_1.setGravity(Gravity.TOP, 0, 30);  
  18.           View v_1 = NToast.this.getLayoutInflater().inflate(R.layout.toast_1, null);  
  19.           toast_1.setView(v_1);  
  20.           toast_1.show();  
  21.          }  
  22.       });  
  23.     }  
  24. }  


最后来看效果:是不是觉得不像Toast呢!但是他就是!你可以在上述xml中修改显示效果,以及添加其它组件,想怎么都行。个人觉得太多也不好,毕竟只是个小组件,不能太大!

整个目录结构:

完成!

posted @ 2015-12-04 19:24  清猿啸夜  阅读(276)  评论(0编辑  收藏  举报