`
yidongkaifa
  • 浏览: 4096642 次
文章分类
社区版块
存档分类
最新评论

Android--强大的Toast实现多种效果

 
阅读更多

我们常常会使用Toast作为提醒的一种方式,可是,Toast不仅能实现最普通的提醒,还能实现很多种自己定制的效果。

1.默认效果

代码

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

2.自定义显示位置效果

代码

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

3.带图片效果

代码

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

代码

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

代码

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

下面,给出一个具体的实例,实现带图标的Toast的。

实现的代码非常简单,如下:

public class EX05_07 extends Activity 
{ 
  private Button mButton01; 
  /** Called when the activity is first created. */ 
  @Override 
  public void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main);
    mButton01 = (Button)findViewById(R.id.myButton1); 
    /*设定Button用OnClickListener启动事件*/
    mButton01.setOnClickListener(new Button.OnClickListener()
    { 
      @Override public void onClick(View v) 
      {
        // TODO Auto-generated method stub 
        ImageView mView01 = new ImageView(EX05_07.this); 
        TextView mTextView = new TextView(EX05_07.this);
        LinearLayout lay = new LinearLayout(EX05_07.this);
        /*设定mTextView去抓取string值*/ 
        mTextView.setText(R.string.app_url); 
        /*判断mTextView的内容为何,并与系统做链接*/
        Linkify.addLinks(mTextView,Linkify.WEB_URLS| Linkify.EMAIL_ADDRESSES|Linkify.PHONE_NUMBERS); 
        /*用Toast方式显示*/ 
        Toast toast = Toast.makeText(EX05_07.this, mTextView .getText(), Toast.LENGTH_LONG); 
        
        View textView = toast.getView(); 
        lay.setOrientation(LinearLayout.HORIZONTAL);
        /*在Toast里加上图片*/
        mView01.setImageResource(R.drawable.icon); 
        /*在Toast里显示图片*/ lay.addView(mView01); 
        /*在Toast里显示文字*/ lay.addView(textView); 
        toast.setView(lay);
        toast.show(); 
        } 
      });
    } 
  }


分享到:
评论

相关推荐

    android 二维码简化,实现仿qq扫描效果

    在Android开发中,实现类似QQ扫描二维码的效果,可以借助开源库ZXing(Zebra Crossing)进行简化。ZXing是一个开放源代码的条码解码库,支持多种编码格式,包括一维码和二维码。以下是对如何集成和自定义ZXing以达到...

    实现多种Toast效果

    实现多种Toast效果,源码Toast,可以支持实现了有五种不同效果的Toast的效果特效,有默认的那个效果,还是自定义位置的,另外还有带图片的效果,而且还可以支持完全自定义的,以及长时间的图片效果。

    Android高级编程--源代码

    作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...

    Android利用WindowManager实现悬浮窗

    Android悬浮窗实现原理和WindowManager详解 Android悬浮窗是指在Android系统中,可以悬浮在屏幕上的一种窗口,常见于QQ视频、手机杀毒软件的桌面小助手等应用中。要实现悬浮窗,需要使用WindowManager来管理窗口。...

    Android GestureDetector实现手势滑动效果

    Android GestureDetector 实现手势滑动效果 Android GestureDetector 是 Android 中的一个手势识别库,它可以帮助开发者轻松实现各种手势识别功能,例如滑动、点击、长按、缩放等。在 Android 开发中, ...

    Android开发资料合集--续

    2、TextView实现下划线效果: 10 3、Spanned 实现TextView的各种样式 10 7、通过HttpClient从指定server获取数据 13 8、隐藏小键盘 13 9、响应Touch 15 10、Activity间的通信 15 1、Bundle传值 15 2、利用...

    android手势操作滑动效果触摸屏事件处理.pdf

    本文将详细介绍如何在Android中处理触摸屏事件以及实现手势识别,特别是Fling和Scroll这两种常见手势。 首先,理解Android的事件处理机制至关重要。Android采用基于监听器(Listener)的事件模型,允许开发者注册感...

    android用户界面程序设计实例

    通过按钮和 Toast 弹出对话框的组合,我们可以实现各种交互效果。例如,在一个登录界面中,我们可以使用按钮来触发登录操作,并使用 Toast 弹出对话框来显示登录结果。 二、TextView 文本框 TextView 文本框是 ...

    Android悬浮窗按钮实现点击并显示/隐藏多功能列表

    Android 悬浮窗按钮实现点击并显示/隐藏多功能列表是 Android 开发中一个常见的功能,主要用于提供用户快速访问多种功能的入口。下面我们将详细介绍实现这个功能的步骤和关键技术点。 一、悬浮窗按钮的创建 悬浮...

    【Android移动应用基础教程】我国铁道出版社课后习题集(附答案解析).doc

    - Android有多种布局方式,如RelativeLayout、LinearLayout、TableLayout、GridLayout、FrameLayout和AbsoluteLayout。 - 相对布局中,`android:layout_alignParentLeft`表示元素与父布局左边缘对齐。 - 默认的...

    android SectorMenuView底部导航扇形菜单的实现代码

    Android 底部导航扇形菜单是一种常见的用户界面元素,它可以提供给用户多种选择项,以便用户快速选择需要的功能。本文将详细介绍如何实现 Android 底部导航扇形菜单的实现代码。 一、 SectorMenuView 底部导航扇形...

    Android常用代码集合.pdf

    自定义View允许开发者扩展Android的标准视图组件,实现更复杂的交互和视觉效果。 至于多媒体处理,Android提供了丰富的API,如MediaPlayer用于播放音频,MediaRecorder用于录制音频和视频。网络通信可以使用...

    Android提示库SweetTips.zip

    为什么写这个库Android 原生 Toast 及 Design 包中的 Snackbar,实现一些常见需求比较繁琐:Toast:原生 Toast 无法/不方便自定义显示时间原生 Toast 需要等待队列中前面的Toast实例显示完毕之后才可以显示,实时性差...

    android实现单选按钮功能

    Android 实现单选按钮功能是 Android 开发中一个非常重要的知识点,本篇文章将为大家详细介绍如何在 Android 中实现单选按钮功能,并提供了一定的参考价值。 知识点一:RadioGroup 和 RadioButton 的使用 在 ...

    AndroidImageSlider实现炫酷轮播广告效果

    AndroidImageSlider 是一个强大的开源库,能够帮助开发者轻松实现这种效果。它提供了丰富的自定义选项和动画效果,使得轮播广告不仅美观,而且互动性强。 **AndroidImageSlider 架构分析** AndroidImageSlider 的...

    安卓zxing 代码demo

    二维码现在越来越火爆,使用的越发广泛,对于二维码二维码的生成与解析,有多种途径,这里我选择用google老大的ZXing。  其中刘超大神使用ZXing写了一个快速集成二维码扫描的工具类,实现其核心的实现扫描的功能。...

    AndroidUI问题集注第二期[参照].pdf

    在Android UI设计与开发中,遇到的问题多种多样,本文主要关注一些常见的问题和解决方案,包括文本大小变化时背景处理、ProgressBar样式自定义、在WebView中显示alert对话框、使用GridView创建混合布局、EditText...

    Android基于zxing的二维码(网格)扫描 仿支付宝网格扫描

    综上所述,要在Android应用中实现基于ZXing的二维码扫描功能,需要引入ZXing库,设置扫描视图,处理扫描回调,以及可能的定制扫描框效果。通过这样的步骤,可以构建出一个类似支付宝的网格扫描体验。

    Android Spinner列表选择框的应用

    Spinner弹出列表事件上是listview,所以listview的各种方法都可以用在Spinner弹出窗口这里,当时也可以自定义数据源,自定义Adapter继承BaseAdapter实现更为灵活更为复杂的效果。 Spinner 事件监听 Spinner事件...

    Activityの简单布局切换

    在 Android 中,我们可以通过多种方式来实现多个布局页面的切换。如上面的代码所示,我们可以通过按钮来实现布局的切换。我们可以添加一个按钮,然后添加事件监听器 onClickListener。当按钮被点击时,Activity 会将...

Global site tag (gtag.js) - Google Analytics