`
ipFire
  • 浏览: 122600 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

创建消息通知(Creating Toast Notification)

阅读更多

创建消息通知(Creating  Toast Notification)

 

一个消息通知是在窗口表面弹出的消息,它只填充消息所的空间,并且用户当前的activity仍然是可见和可交互的.这个通知会自动的淡入淡出.而且不接爱交互事件.

 

下面的截图显示了一个来自闹钟程序的消息通知的例子.一旦闹钟开启, 显示一个通知来提醒你闹钟已经设置.

 

 

一个消息可以在Activity或服务里被创建和显示.如果你在一个服务里面创建一个消息提醒,它显示在当前焦点的Activity的前面.



基础(The Basics)
首先:通过其中一个makeText() 方法实例化一个Toast对象,该方法接受三个参数:应用程序上下文,文字信息和这个Toast的持续时间.它返回一个正确地实例化对象.你可以通过show()方法显示这个消息提醒,如下面的例子显示一样:
Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;

Toast toast = Toast.makeText(context, text, duration);
toast.show();
 

 

这个例子展示了你需要的大部分消息提醒的一切,你将很少需要其它东西. 你可以定位不同位置的消息提醒,甚至使用你自己的布局代替简单的文本信息.接下来的章节说明你如何做这些事情.

 

你也可以链式你的方法,避免绑定你的消息对醒对象.像这样:

 

Toast.makeText(context, text, duration).show();

 

 

 

定位消息提醒(Positioning your Toast)

一个标准的消息提醒显示在靠近屏幕的下方.水平居中.你可以通过 setGravity(int, int, int)方法修改它的位置.该方法接受三个参数:引力常量,x位置偏移,y位置偏移.

 

例如:你希望这个消息提醒将显示在左上角,你可以像这样设置引力.

 

 

toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);

 

 如果你想向右推动位置,增加第二个参数的数值,向下推动,   增加最后一个参数的数值.

 

创建自定义Toast(Creating a Custom Toast View)

如果一个简单的文本信息不够,你可以为你的消息提醒创建自定义的布局.创造自定义布局,在XML或你的应用程序里面定义一个View布局,然后把根节点的View对象传入setView(View)方法.

 

例如:你可以为toast创建像右边截图看见的布局,XML文件如下(保存为toast_layout.xml)

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/toast_layout_root"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:padding="10dp"
              android:background="#DAAA"
              >
    <ImageView android:id="@+id/image"
               android:layout_width="wrap_content"
               android:layout_height="fill_parent"
               android:layout_marginRight="10dp"
               />
    <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="fill_parent"
              android:textColor="#FFF"
              />
</LinearLayout>
 

 

注意这个LinearLayout元素的ID是“toast_layout_root”,你必须使用这个ID生成布局,如下所示:

 

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
                               (ViewGroup) findViewById(R.id.toast_layout_root));

ImageView image = (ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.android);
TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("Hello! This is a custom toast!");

Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();

 

 

首先,根据getLayoutInflater()(或getSystemService()())方法获取 LayoutInflater 对象,然后使用inflate(int, ViewGroup)从XML生成布局,

第一个参数是布局资源ID,第二个是的根View.你可以根据这个生成的布局去查找这个布局里面更多的View对象。

所于现在获取并定义这个ImageView 和TextView 元素的内容.最后, 通过Toast(Context)方法创建一个新的Toast,并为这个Toast设置一些属性。

例如重力和间隔,然后调用setView(View) 并传入生成的布局。现在你可以调用show()显示你自定义布局的Toast了.

 

 

注:不要为Toast 使用公共的构造方法,除非你打算根据setView(View)定义布局。如果你没有自定义布局使用,你必须使用 makeText(Context, int, int)创建Toast.
 

参考:/android-sdk-windows/docs/guide/topics/ui/notifiers/notifications.html

分享到:
评论

相关推荐

    Android学习下 toast notification用法.rar

    在Android开发中,Toast和Notification是两种非常重要的用户交互组件,它们用于向用户显示短暂的信息提示。本资源“Android学习下 toast notification用法.rar”包含了有关如何在Android应用中使用这两种组件的源码...

    day27-Toast Notification(面包形状的通知)

    【标题】中的“Toast Notification”通常指的是在用户界面上短暂显示信息的一种设计模式,被称为“吐司通知”或“面包屑通知”。这种通知不会中断用户的当前操作,而是以一种轻量级的方式提供信息,通常在屏幕底部或...

    android学习之toast和notification

    `Toast`是一种轻量级的提示方式,它会在屏幕上的某个位置短暂显示一条消息,然后自动消失,不会干扰用户的正常操作。`Toast`主要用于提供非中断性的反馈,例如告知用户某个操作已经完成或者输入有误。创建`Toast`的...

    vue-toast-notification:Vue.js的另一个Toast Notification插件

    另一个Vue.js Toast通知插件。 :warning: 该库与Vue v3尚不兼容 或 安装 # yarn yarn add vue-toast-notification # npm npm install vue-toast-notification 用法 import Vue from 'vue' ; import VueToast from...

    C# Window10原生系统通知Toast

    在C#中,我们可以使用`Windows.UI.Notifications`命名空间中的`ToastNotification`类来创建和发送通知。以下是一些关键步骤: 1. **设置通知内容**:创建一个XML字符串,定义通知的标题、文本、图标和其他元素。...

    Android的各种通知Notification、Dialog、Toast、Snackbar

    通知(Notification)、对话框(Dialog)、吐司(Toast)和Snackbar是Android系统提供的一些关键组件,用于向用户展示各种信息和提示。下面将详细介绍这些组件的功能、用法以及它们在不同场景下的适用性。 **1. ...

    Android中Toast和Notification的应用.

    这里提到了`CHANNEL_ID`和`NOTIFICATION_ID`,在Android O及以上版本,创建`Notification`需要定义通知渠道,而`NOTIFICATION_ID`是每个`Notification`的唯一标识,用于更新或取消特定的`Notification`。 在实际...

    toast和context 消息栏 消息提示 通知

    在Android应用开发中,"Toast"和"Context"是两个非常关键的概念,它们与消息提示和通知紧密相关。本文将详细解析这两个概念及其在消息显示中的应用。 首先,"Toast"是Android系统提供的一种轻量级的通知方式。当...

    PhoneGap Android插件 调用toast 和 notification

    例如,使用`Toast.makeText()`来创建并显示`Toast`,使用`NotificationManager`来创建和发送`Notification`。 接下来,`notification.js`是插件的JavaScript部分,它定义了与Java端交互的接口。这个文件通常会包含...

    android toast and notification完整代码

    在Android开发中,Toast和Notification是两种非常重要的用户反馈机制,它们用于向用户显示简短的信息或提醒。本文将深入探讨这两个概念,并提供完整的代码示例。 **1. Android Toast** Toast是Android系统中一种...

    Android入门开发实例--Toast、Notification、Intent应用

    创建一个`Toast`非常简单,只需要调用`Toast.makeText()`方法,传入上下文、要显示的消息文本和持续时间(短时间或长时间)。例如: ```java Toast.makeText(context, "这是Toast消息", Toast.LENGTH_SHORT).show()...

    Android-AndroidToast即便关闭了通知权限也会正常显示

    创建一个Toast非常简单,通常通过`Toast.makeText()`方法实现,传入上下文(Context)、显示的文本(CharSequence)以及显示时间(Duration:短期Toast或者长期Toast)。例如: ```java Toast.makeText(context, ...

    Vue 之 Toast 消息提示插件的简单封装

    vue 中简单封装类似 Toast 的消息提示插件,然后在 vue 中任意位置都可以简单使用 Toast 消息显示最前,并且默认 3 秒后自动消失 实现原理 1、vue 创建 Toast 消失提示组件的显示界面 2、js 代码动态引入 Toast 的 ...

    toast-notification:HTMLCSSJavaScript的基本Toast通知

    描述中提到的"toast-notification"进一步强调了这个主题是关于如何使用HTML、CSS和JavaScript创建Toast通知的。这可能包括创建动态效果,如淡入淡出、定位、时间延迟以及关闭按钮等功能。由于没有具体的描述内容,...

    Toast通知源码

    在Windows应用中,我们可以使用`Windows.UI.Notifications`命名空间中的`ToastNotification`类来创建和管理Toast通知。首先,我们需要将XML字符串转换为`ToastNotification`对象,然后通过`ToastNotifier`发送通知。...

    notification_Toast_android_

    综上所述,理解并熟练掌握`Toast`和`Notification`的使用对于Android应用开发者来说至关重要,这能帮助他们创建更友好、更高效的用户界面。通过学习提供的源码,开发者可以深入理解这两种机制的工作原理,并从中获取...

    Google.Android开发入门与实战第7章.良好的学习开端——Android基本组件介绍之温馨的提醒——Toast和Notification应用.rar

    同时,Android 8.0(API级别26)及以上版本引入了渠道的概念,开发者需要为每个Notification创建一个唯一的渠道ID。 在实际应用中,Toast和Notification常常结合使用,例如,当用户完成一项操作后,可以先用Toast...

    toastnotification_android源码_

    Source code examples that demonstrate the notification of the android mobile phone pop up

    友好地互动交流提示信息Toast、notification

    `Toast`和`Notification`是两种常用的方式来实现这一目标。本文将详细介绍这两种技术的基本用法及其在实际开发中的应用。 `Toast`是Android系统提供的一种轻量级提示方式,它会短暂地显示在屏幕的某个位置,用于向...

Global site tag (gtag.js) - Google Analytics