Android Toast用法详解(各种自定义Toast)
来源:互联网 发布:好的配音软件 编辑:程序博客网 时间:2024/06/01 08:45
Toast是一种提供给用户简洁信息的视图。Toast类帮助你创建和显示该信息。
该视图已浮于应用程序之上的形式呈现给用户。因为它并不获得焦点,即使用户正在输入什么也不会受到影响。它的目标是尽可能已不显眼的方式,使用户看到你提供的信息。有两个例子就是音量控制和设置信息保存成功。
使用该类最简单的方法就是调用一个静态方法,让他来构造你需要的一切并返回一个新的 Toast 对象。
1、我们首先来看看Toast常用 的默认效果:
2、我们还可以自定义位置:
3、带图片的:
4、完全实现我们自己的自定义效果:
5、可以由其它线程更新:
查看源代码:
HelloToastActivity.java
package hb.android.hellotoast;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.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;public class HelloToastActivity extends Activity {/** Called when the activity is first created. */Button btn_default;Button btn_define;Button btn_all_define;Button btn_image_define;Button btn_other_thread;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);initButton();btn_all_define.setOnClickListener(new MyOnClickListerer());btn_define.setOnClickListener(new MyOnClickListerer());btn_other_thread.setOnClickListener(new MyOnClickListerer());btn_image_define.setOnClickListener(new MyOnClickListerer());btn_default.setOnClickListener(new MyOnClickListerer());}public void initButton() {btn_all_define = (Button) findViewById(R.id.btn_all_define);btn_default = (Button) findViewById(R.id.btn_default);btn_define = (Button) findViewById(R.id.btn_define);btn_image_define = (Button) findViewById(R.id.btn_image_define);btn_other_thread = (Button) findViewById(R.id.btn_other_thread);}private class MyOnClickListerer implements OnClickListener {Handler handler = new Handler();@Overridepublic void onClick(View v) {if (v == btn_default) {Toast.makeText(getApplicationContext(), "这 是默认效果",Toast.LENGTH_SHORT).show();} else if (v == btn_define) {Toast toast = Toast.makeText(getApplicationContext(),"这是自定义位置", Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();} else if (v == btn_image_define) {Toast toast = Toast.makeText(getApplicationContext(), "这是带图片的",Toast.LENGTH_SHORT);LinearLayout toastView = (LinearLayout) toast.getView();ImageView imageCodeProject = new ImageView(getApplicationContext());imageCodeProject.setImageResource(R.drawable.ic_launcher);toastView.addView(imageCodeProject, 0);toast.show();} else if (v == btn_all_define) {LayoutInflater inflater = getLayoutInflater();View view = inflater.inflate(R.layout.custom, null);ImageView iv = (ImageView) view.findViewById(R.id.tvImageToast);iv.setImageResource(R.drawable.ic_launcher);TextView title = (TextView) view.findViewById(R.id.tvTitleToast);title.setText("Attention");TextView text = (TextView) view.findViewById(R.id.tvTextToast);text.setText("完全自定义Toast");Toast toast = new Toast(getApplicationContext());toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);toast.setDuration(Toast.LENGTH_LONG);toast.setView(view);toast.show();} else if (v == btn_other_thread) {new Thread(new Runnable() {public void run() {System.out.println("d");showToast();}}).start();}}public void showToast() {handler.post(new Runnable() {@Overridepublic void run() {Toast.makeText(getApplicationContext(), "我来自其他线程!",Toast.LENGTH_SHORT).show();}});}}}
custom.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/llToast" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#ffffffff" android:orientation="vertical" > <TextView android:id="@+id/tvTitleToast" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="1dip" android:background="#bb000000" android:gravity="center" android:textColor="#ffffffff" /> <LinearLayout android:id="@+id/llToastContent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="1dip" android:layout_marginLeft="1dip" android:layout_marginRight="1dip" android:background="#44000000" android:orientation="vertical" android:padding="15dip" > <ImageView android:id="@+id/tvImageToast" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> <TextView android:id="@+id/tvTextToast" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:paddingLeft="10dip" android:paddingRight="10dip" android:textColor="#ff000000" /> </LinearLayout></LinearLayout>
main.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="fill_parent" android:orientation="vertical" android:gravity="center_horizontal"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="建立属于你自己的Toast" /> <Button android:id="@+id/btn_default" android:text="默认" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"/> <Button android:id="@+id/btn_define" android:text="自定义位置" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"/> <Button android:id="@+id/btn_image_define" android:text="带图片" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"/> <Button android:id="@+id/btn_all_define" android:text="完全自定义效果" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"/> <Button android:id="@+id/btn_other_thread" android:text="来自其它纯种" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"/></LinearLayout>
源码下载:Android Toast用法详解(各种自定义Toast)
- Android Toast用法详解(各种自定义Toast)
- Android Toast用法详解(各种自定义Toast)
- android Toast详解以及自定义Toast例子
- 自定义吐司以及Toast的各种用法,详解。教你学会使用各种各样的Toast
- Android篇-自定义Toast详解
- 各种自定义toast
- android源码分析 android toast使用详解 toast自定义
- Toast的自定义用法
- Android杂谈---各种Toast
- Android杂谈---各种Toast
- Android的各种Toast
- android中自定义Toast方法详解(一)
- 自定义Toast详解
- android自定义Toast视图
- Android中自定义Toast
- Android自定义Toast样式
- android Toast 自定义样式
- 自定义Toast - Android代码
- Red5的安装配置以及AS3连接red5简单示例
- 20款最新且极具创意的jQuery插件
- oracle之round函数使用
- C++两种方式创建对象(new和申明)
- #ifdef _DEBUG的理解 (C language)
- Android Toast用法详解(各种自定义Toast)
- Java软件架构师所要需的东西
- java.io包详细解说
- IT界名人你认识几个?
- C#中sql备份与还原
- 一个老程序员说的心里话
- 一个java IO的例子
- 重载new和delete后调用构造函数和析构函数顺序
- 实习笔记:几个小问题