25. android Toast 带图片的消息提示

实现Toast只需要两句话,第一是声明一个Toast,第二是显示这个Toast,如下:

Toast toast = Toast.makeText(ToastActivity.this, "带图片的Toast", Toast.LENGTH_LONG); toast.show();

makeText第一个参数是指对针对那个上下文的,这里是针对当前这个Activity的消息提示,第二个参数是要显示的文字,第三个参数显示的时间,过了这个时间后会消失。

接下来是在此基础之上加个图片,首先定义一个ImageView,然后Toast也有个View,需要对ImageView和Toast的View合并到一个Layout里面,然后替换掉Toast的View.具体如下:

//定义一个ImageView ImageView imageView = new ImageView(ToastActivity.this); imageView.setImageResource(R.drawable.icon); //获得Toast的View View toastView = toast.getView(); //定义一个Layout,这里是Layout LinearLayout linearLayout = new LinearLayout(ToastActivity.this); linearLayout.setOrientation(LinearLayout.HORIZONTAL); //将ImageView和ToastView合并到Layout中 linearLayout.addView(imageView); linearLayout.addView(toastView); //替换掉原有的ToastView toast.setView(linearLayout);

 

贴个效果图:

25. android Toast 带图片的消息提示_第1张图片

 

具体实现步骤:

第一步:定义一个button用来点击后弹出消息提示

res/layout/toast_layout.xml

<?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="wrap_content"> <Button android:id="@+id/button" android:text="显示消息提示" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>

 

第二步:

src/com/mytoast/activity/ToastActivity.java

package com.mytoast.activity; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Toast; public class ToastActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.toast_layout); Button button = (Button) findViewById(R.id.button); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View view) { //先定义一个Toast Toast toast = Toast.makeText(ToastActivity.this, "带图片的Toast", Toast.LENGTH_LONG); //定义一个ImageView ImageView imageView = new ImageView(ToastActivity.this); imageView.setImageResource(R.drawable.icon); //获得Toast的View View toastView = toast.getView(); //定义一个Layout,这里是Layout LinearLayout linearLayout = new LinearLayout(ToastActivity.this); linearLayout.setOrientation(LinearLayout.HORIZONTAL); //将ImageView和ToastView合并到Layout中 linearLayout.addView(imageView); linearLayout.addView(toastView); //替换掉原有的ToastView toast.setView(linearLayout); toast.show(); } }; button.setOnClickListener(listener); } }

 

 

因为这个很简单,所以源码不提供了,照着上面写就出来了。

 

 

你可能感兴趣的:(android,layout,Class,button,encoding)