Android 五种不同样式Toast

废话不多说,直接上代码:

package com.otn.android.toast;

import android.app.Activity;

import android.app.AlertDialog;

import android.os.Bundle;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

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 MyToast extends Activity implements OnClickListener {

private static final String TOASTBTN_1 = "这是默认的Toast显示";

private static final String TOASTBTN_2 = "这是自定义位置的Toast显示";

private static final String TOASTBTN_3 = "这是带图片的Toast显示";

private static final String TOASTBTN_4 = "这是完全自定义的Toast显示";

private static final String TOASTBTN_5 = "这是长时间的Toast显示";

private Button toastBtn_1, toastBtn_2, toastBtn_3, toastBtn_4, toastBtn_5;

private Toast toast = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

toastBtn_1 = (Button) findViewById(R.id.button_1);

toastBtn_2 = (Button) findViewById(R.id.button_2);

toastBtn_3 = (Button) findViewById(R.id.button_3);

toastBtn_4 = (Button) findViewById(R.id.button_4);

toastBtn_5 = (Button) findViewById(R.id.button_5);

toastBtn_1.setOnClickListener(this);

toastBtn_2.setOnClickListener(this);

toastBtn_3.setOnClickListener(this);

toastBtn_4.setOnClickListener(this);

toastBtn_5.setOnClickListener(this);

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

AlertDialog.Builder builder;

AlertDialog dialog;

switch (v.getId()) {

case R.id.button_1:

toast.makeText(this, TOASTBTN_1, Toast.LENGTH_LONG).show();

break;

case R.id.button_2:

toast = Toast.makeText(getApplicationContext(), TOASTBTN_2,

Toast.LENGTH_LONG);

toast.setGravity(Gravity.CENTER, 0, 0);

toast.show();

break;

case R.id.button_3:

toast = Toast.makeText(getApplicationContext(), TOASTBTN_3,

Toast.LENGTH_LONG);

toast.setGravity(Gravity.CENTER, 50, -100);

LinearLayout layout = (LinearLayout) toast.getView();

ImageView image = new ImageView(getApplicationContext());

image.setImageResource(R.drawable.wallpaper_tree_small);

layout.addView(image, 0);

toast.show();

break;

case R.id.button_4:

LayoutInflater inflater = getLayoutInflater();

View view = inflater.inflate(R.layout.userdefinedtoast,

(ViewGroup) findViewById(R.id.toast_layout));

TextView txtView_Title = (TextView) view

.findViewById(R.id.txt_Title);

TextView txtView_Context = (TextView) view

.findViewById(R.id.txt_context);

ImageView imageView = (ImageView) view

.findViewById(R.id.image_toast);

toast = new Toast(getApplicationContext());

toast.setGravity(Gravity.CENTER, 0, 0);

toast.setDuration(Toast.LENGTH_LONG);

toast.setView(view);

toast.show();

break;

case R.id.button_5:

LayoutInflater inflater1 = getLayoutInflater();

View view1 = inflater1.inflate(R.layout.userdefinedtoast,

(ViewGroup) findViewById(R.id.toast_layout));

TextView txtView_Title1 = (TextView) view1

.findViewById(R.id.txt_Title);

TextView txtView_Context1 = (TextView) view1

.findViewById(R.id.txt_context);

ImageView imageView1 = (ImageView) view1

.findViewById(R.id.image_toast);

builder = new AlertDialog.Builder(this);

builder.setView(view1);

dialog = builder.create();

dialog.show();

break;

default:

break;

}

}

}

时间: 2024-10-11 16:53:02

Android 五种不同样式Toast的相关文章

Android五种布局方式——LinearLayout、RelativeLayout、TableLayout....(四)

Android五种布局方式--LinearLayout.RelativeLayout .TableLayout.... Android使用XML声明界面布局 将程序的表现层和控制层分离 修改用户界面时,无需更改程序的源代码 可视化工具设计用户界面 Android五种布局方式 LinearLayout线性布局 AbsoluteLayout坐标布局 RelativeLayout相对布局 FrameLayout帧布局 TableLayout表格布局 GridLayout 1.LinearLayout线

Android五种布局说明

AbsoluteLayout---->是一个按照绝对坐标定义的布局,由于使用绝对坐标去定位控件,因此要实现自适应界面时,应尽少使用 AbsoluteLayout . RelativeLayout---->最好在界面设计时 做好布局,尽少程序运行时 做控件布局的更改,因为 RelativeLayout布局里面的属性之间,很容易冲突 FrameLayout---->顾名思义跟帧有关,布局里所有的控件都被放到布局的左上角,并且一层覆盖一层. TableLayout + TableRow----

android五种数据存储方式

在Android中提供了如下五种数据存储方式: SharedPreferences 文件存储 SQLite数据库方式 内容提供器(ContentProvider) 网络存储 下面具体介绍一下这五种数据存储方式的用法. 1. SharedPreferences SharedPreferences是android平台上的一个轻量级存储类,主要保存一些常用的配置信息.可以保存long.int.String类型数据. SharedPreferences以键值对方式读取和存入,最终会以XML方式保存数据,

android五种布局模式

Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局),FrameLayout(框架布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局). 一. 线性布局 线性布局.每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="

Android 五种存储方式个人总结

一 . 文件存储 FileOutputStream out = openFileOutput("data",Context.MODE_PRIVATE); BufferedWriter writer = new BufferedWriter(new OutputStream(out)); String  s ; writer.writer(s); 二. sharePreferences 存储 (键值对形式) 方法 1.    Context 类中的getSharedPreferences

Android五种布局

1. LinearLayout LinearLayout是线性布局控件,它包含的子控件将以横向或纵向排列. 注:布局之间可以嵌套使用.即布局内既可包含控件,又可包含布局. 两个全局属性: 1. android:orientation --决定其子类控件排布方式 android:orientation="horizontal" --水平排布 android:orientation="vertical" --垂直排布 2. android:gravity --决定子类控

Android特效 五种Toast详解

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失. 1.默认效果: 代码:Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LENGTH_SHORT).show(); 2.自定义显示位置效果: 代码:toast = Toast.makeText(getApplicationContext(),    

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

Toast用于向用户显示一些帮助/提示.下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast. 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LENGTH_SHORT).show(); 2.自定义显示位置效果 代码 toast = Toast.makeText(getApplicationContext(),     "自定义位置Toast",

Android Toast 总结(五种用法)

Toast大家都很熟,不多说.直接上图上代码. 具体代码如下: 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_he