`

Toast学习_小Demo

阅读更多

Toast学习_小Demo

效果图:
[img]

[/img]

mail.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>



MainActivity
package com.amaker.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 MainActivity 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;
		}
	}
}
  • 大小: 17.1 KB
分享到:
评论

相关推荐

    自定义Application级别toast Demo

    在"自定义Application级别toast Demo"中,我们将学习如何实现这一功能,并且该Demo已经实现了对Android 7及更高版本的兼容,无需额外申请权限。 首先,我们需要创建一个自定义的Toast类,继承自`Toast`。在这个类中...

    各种Toast的设计Demo

    在Android开发中,`Toast`是一种常见的用户反馈机制,用于在界面上短暂显示简短的信息。这个"各种Toast的设计Demo"旨在...这个"各种Toast的设计Demo"是一个很好的学习资源,可以帮助开发者深入理解并灵活运用`Toast`。

    toast demo

    总结,"toast demo"是一个很好的学习实例,涵盖了Toast的基本使用和扩展,以及BroadcastReceiver的两种注册方式。通过实践这个demo,开发者可以深入理解Android中的轻量级通知机制和事件监听。同时,掌握这些技能...

    AMap_Android_Demo_2.7z

    总之,高德地图Android SDK为开发者提供了全面的地图服务和丰富的API接口,通过学习和实践AMap_Android_Demo示例,我们可以快速掌握地图开发技能,轻松实现经纬度获取、路线规划等功能,提升应用程序的用户体验。

    Toast-Demo展示

    开发者或者设计者可以通过这个Demo来学习如何在自己的项目中集成和自定义Toast提示,例如设置显示时间、位置、颜色、字体大小以及添加图标等。 【标签】"软件/插件"进一步明确了这个Demo可能是为软件开发或浏览器...

    ex07_1_button.rar_DEMO

    这个“ex07_1_button”DEMO是一个专门为初学者设计的...通过这个DEMO,初学者可以学习到Android基本的UI组件使用,事件监听和响应,以及布局文件的编写。随着经验的积累,他们将能够创建更复杂、功能更丰富的应用程序。

    ios demo,toast view,可以指定在屏幕的中心显示或底部显示

    总之,这个"ios demo, toast view"项目提供了一个在iOS应用中展示Toast视图的实例,涉及了Auto Layout、动画、协议与委托、自定义视图等多方面的知识点,对于学习和提升iOS开发技能非常有帮助。

    android二维码扫描ZXingDemo

    Toast.makeText(this, "扫描结果:" + barcodeValue, Toast.LENGTH_SHORT).show(); } @Override public void onBarcodeLost() { resultView.setVisibility(View.GONE); } } ``` 最后,为了实现扫描功能,...

    iOS toast demo

    总结来说,"iOS toast demo"是一个用于学习和实践如何在iOS应用中实现Toast功能的项目。它涉及到自定义视图、动画效果、时间控制以及与主应用程序交互的多个方面,对于想要提升用户体验的开发者来说是非常有价值的...

    Android-AppMsg.zip_DEMO

    通过分析"Android-AppMsg.zip_DEMO",开发者可以学习到如何在Android应用中实现各种消息提示,提升应用的用户交互体验。这个项目涵盖了从基础的Toast和Dialog到高级的Snackbar和Notification,对于初学者和有经验的...

    二维码功能小demo

    【二维码功能小demo】是一个演示如何在Android应用中实现二维码...通过学习和理解这个demo,开发者可以轻松地将二维码功能集成到自己的应用中。不过,实际应用时,还需要考虑错误处理、用户体验优化等更复杂的细节。

    Snackbar使用DEMO下载 可修改字体大小,颜色,滑动消失 代替Toast

    Snackbar是Android开发中一个常用的组件,它用于在屏幕底部显示简短的信息,通常用来替代Toast。...对于Android开发者来说,研究这个DEMO能加深对Snackbar工作原理的理解,同时也学习到如何扩展和定制系统组件。

    Kotlin_Demo

    **Kotlin_Demo** 在移动应用开发领域,Kotlin已经成为Android开发者的重要选择,以其...通过学习和实践这个项目,开发者可以深入理解Kotlin如何提升Android开发的效率和代码质量,为构建更复杂的应用打下坚实基础。

    自定义Toast

    通过运行此Demo,开发者可以更直观地学习自定义`Toast`的实践方法。 总结,自定义`Toast`能为Android应用增添更多的交互性和视觉吸引力。通过创建自定义布局,我们可以自由设计`Toast`的外观和功能,从而更好地满足...

    jquery toast信息提示

    **jQuery Toast信息提示工具** 在Web开发中,为了提供用户友好的交互体验,信息提示功能是必不可少的。jQuery Toast就是这样一款...通过学习和实践,开发者可以灵活运用jQuery Toast,提升Web应用的交互性和用户体验。

    GridView _Demo

    GridView是Android开发中常见的一种控件,用于展示数据集,通常以网格的形式排列。它在各种应用中广泛使用,如图库应用展示图片、...通过不断学习和实践,开发者可以掌握其精髓,为用户带来更加美观和交互友好的界面。

    Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用

    通过这个 Demo,我们学习了如何实现 Button 事件响应,并使用 Toast 提示控件来显示提示信息。这将为我们后续的 Android 开发提供了非常有用的基础知识。 知识点: * Android 中的事件响应机制 * Button 控件的...

    ToastDemo.zip

    这个项目不仅包含了主程序的源代码,还可能包括配置文件和其他辅助资源,为学习者提供了一个完整的环境来实践和理解Toast的工作原理。 【标签】"Toast"和"android"表明这个项目专注于Android平台上的Toast功能。在...

    在ScrollView上添加按钮的小 demo

    通过这个小DEMO,开发者可以学习到如何在ScrollView中添加和管理多个控件,以及如何处理这些控件的用户交互。这在设计长内容页面或者需要多个操作按钮的场景中非常实用。同时,这也是Android开发基础中的一个重要...

Global site tag (gtag.js) - Google Analytics