首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

【转】Toast大全(5种情形)建立属于你自己的Toast

2012-06-27 
【转】Toast大全(五种情形)建立属于你自己的Toast转自:http://www.cnblogs.com/salam/archive/2011/06/28/18

【转】Toast大全(五种情形)建立属于你自己的Toast

转自:http://www.cnblogs.com/salam/archive/2011/06/28/1873654.html

?

Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。

?

1.默认效果

【转】Toast大全(5种情形)建立属于你自己的Toast

?

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

2.自定义显示位置效果

【转】Toast大全(5种情形)建立属于你自己的Toast

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

?

3.带图片效果

【转】Toast大全(5种情形)建立属于你自己的Toast

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.完全自定义效果

【转】Toast大全(5种情形)建立属于你自己的Toast

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.其他线程

【转】Toast大全(5种情形)建立属于你自己的Toast

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

完整代码

①Main.java

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

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:padding="5dip"    android:gravity="center">    <Button        android:layout_height="wrap_content"        android:layout_width="fill_parent"        android:id="@+id/btnSimpleToast"        android:text="默认" />    <Button        android:layout_height="wrap_content"        android:layout_width="fill_parent"        android:text="自定义显示位置"        android:id="@+id/btnSimpleToastWithCustomPosition" />    <Button        android:layout_height="wrap_content"        android:layout_width="fill_parent"        android:id="@+id/btnSimpleToastWithImage"        android:text="带图片" />    <Button        android:layout_height="wrap_content"        android:layout_width="fill_parent"        android:text="完全自定义"        android:id="@+id/btnCustomToast" />    <Button        android:layout_height="wrap_content"        android:layout_width="fill_parent"        android:text="其他线程"        android:id="@+id/btnRunToastFromOtherThread" /></LinearLayout>

③custom.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_height="wrap_content"    android:layout_width="wrap_content"    android:background="#ffffffff"    android:orientation="vertical"    android:id="@+id/llToast" >    <TextView        android:layout_height="wrap_content"        android:layout_margin="1dip"        android:textColor="#ffffffff"        android:layout_width="fill_parent"        android:gravity="center"        android:background="#bb000000"        android:id="@+id/tvTitleToast" />    <LinearLayout        android:layout_height="wrap_content"        android:orientation="vertical"        android:id="@+id/llToastContent"        android:layout_marginLeft="1dip"        android:layout_marginRight="1dip"        android:layout_marginBottom="1dip"        android:layout_width="wrap_content"        android:padding="15dip"        android:background="#44000000" >        <ImageView            android:layout_height="wrap_content"            android:layout_gravity="center"            android:layout_width="wrap_content"            android:id="@+id/tvImageToast" />        <TextView            android:layout_height="wrap_content"            android:paddingRight="10dip"            android:paddingLeft="10dip"            android:layout_width="wrap_content"            android:gravity="center"            android:textColor="#ff000000"            android:id="@+id/tvTextToast" />    </LinearLayout></LinearLayout>

?

源码下载??????

热点排行