日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android--通知之Toast

發(fā)布時(shí)間:2024/4/15 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android--通知之Toast 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

  這篇博客講解一下Android下的一個(gè)簡單信息提示的方式:Toast。如果一直看我的博客,會發(fā)現(xiàn)在之前的Demo中,一直有用到Toast去提示消息,在這篇博客中就專門講它。Toast提供一個(gè)浮動的簡單的小顯示塊,并且不影響任何其他操作,僅僅用于提示信息,并且會在超時(shí)后,自動消失。因?yàn)樗募皶r(shí)性已經(jīng)自動消失的特性,不適合提示一些重要的信息,如果有重要的信息,可以使用Notification提示用,Notification之后會介紹。在本片博客中將講解Toast的常規(guī)使用,以及特殊的屬性、方法的使用,并且會說明如何使用Toast創(chuàng)建一個(gè)自定義的內(nèi)容,并且最后會對以上講解的內(nèi)容給出代碼示例。

Toast

  Toast是為了給當(dāng)前視圖顯示一個(gè)浮動的顯示塊,它永遠(yuǎn)不會獲得焦點(diǎn)。一般用于提示一些不那么引人注目,但是又希望用戶看見的消息,無需用戶自己維護(hù)它的消失。

  如果只是提示簡單的信息,使用Android為Toast提供的兩個(gè)靜態(tài)的方法最為方便,它們會返回一個(gè)Toast對象,如果需要顯示,只需要調(diào)用show()方法顯示即可,下面是這兩個(gè)方法的簽名:

  • static Toast makeText(Context context,int resId,int duration).
  • static Toast makeText(Context context,CharSequence text,int duration)

  上面兩個(gè)方法,參數(shù)大致相同,一個(gè)上下文對象Context,一個(gè)顯示的消息來源,一個(gè)設(shè)置持續(xù)時(shí)間。消息來源可以指定String資源,使用<string.../>標(biāo)簽在XML資源文件中定義,還可以指定一個(gè)字符串用于消息展示。最后的duration參數(shù)設(shè)置了Toast的持續(xù)時(shí)間,一般使用Toast自帶的兩個(gè)整形的常量:LENGTH_LONG(1,時(shí)間稍長)、LENGTH_SHORT(0,時(shí)間稍短),針對不同的使用場景,選擇不用的持續(xù)時(shí)間。

  Toast消息的默認(rèn)顯示位置在屏幕的中間偏下,Android也為開發(fā)者提供了方法設(shè)置Toast消息的位置,使用setGravity(int gravity, int xOffset, int yOffset)方法即可設(shè)置,它有三個(gè)參數(shù),gravity設(shè)置一個(gè)重力方向,另外兩個(gè)設(shè)置水平和垂直方向的偏移量。

  示例:使用Toast提示一個(gè)簡單的消息,顯示在屏幕中間。

1 btnToast1.setOnClickListener(new View.OnClickListener() { 2 @Override 3 public void onClick(View v) { 4 // TODO Auto-generated method stub 5 Toast toast=Toast.makeText(MainActivity.this,"Toast提示消息",Toast.LENGTH_SHORT ); 6 toast.setGravity(Gravity.CENTER, 0, 0); 7 toast.show(); 8 } 9 });

  顯示效果:

?

自定義消息

  無論是從美觀的角度、還是用戶視覺體驗(yàn)的角度,很多時(shí)候都不僅僅需要顯示一簡單的文本信息。如果需要顯示用戶自定義的消息,那么就不能使用上面介紹的靜態(tài)方法來得到一個(gè)Toast對象,而是需要使用Toast的構(gòu)造方法進(jìn)行初始化,然后對相應(yīng)的屬性進(jìn)行設(shè)置。一般對于自定義布局的顯示,會使用XML定義好一個(gè)布局文件,這樣清晰明朗。

  步驟如下:

  • 使用LayoutInflater.from(Context).inflate(int , ViewGroup)方法動態(tài)獲得需要顯示的View。
  • 對View中的控件進(jìn)行必要操作。
  • 使用構(gòu)造函數(shù)初始化Toast。
  • 使用Toast.setView(View)進(jìn)行設(shè)置。
  • 最后使用show()方法展示Toast消息。
  •   下面通過一個(gè)示例展示自定義布局在Toast中的顯示:

      Toast消息的布局代碼:

    1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/toast_layout_root" 4 android:orientation="horizontal" 5 android:layout_width="fill_parent" 6 android:layout_height="fill_parent" 7 android:padding="8dp" 8 android:background="#DAAA" 9 > 10 <ImageView android:src="@drawable/ic_launcher" 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:layout_marginRight="8dp" 14 /> 15 <TextView android:id="@+id/text" 16 android:layout_width="wrap_content" 17 android:layout_height="wrap_content" 18 android:textColor="#FFF" 19 /> 20 </LinearLayout>

      Toast消息的顯示代碼:

    1 btnCustomToast.setOnClickListener(new View.OnClickListener() { 2 3 @Override 4 public void onClick(View v) { 5 View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.toast_layout,null ); 6 TextView tv=(TextView)view.findViewById(R.id.text); 7 tv.setText("自定義提示Toast"); 8 Toast toast=new Toast(MainActivity.this); 9 toast.setView(view); 10 toast.show(); 11 12 } 13 });

     效果展示:

      源碼下載

    總結(jié)

      以上就講解了Toast的使用,在Android中,Toast提示消息的方式會經(jīng)常被用到,所以掌握它是有必要的,之后會介紹另外一種消息提示方式,Notification。

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Android--通知之Toast的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。