編輯:Android開發實例
前言
這篇文章講解一下Android下的一個簡單信息提示的方式:Toast。如果一直看本系列的文章,會發現在之前的Demo中,一直有用到Toast去提示消息,在這篇文章中就專門講它。Toast提供一個浮動的簡單的小顯示塊,並且不影響任何其他操作,僅僅用於提示信息,並且會在超時後,自動消失。因為它的及時性已經自動消失的特性,不適合提示一些重要的信息,如果有重要的信息,可以使用Notification提示用,Notification之後會介紹。在本文中將講解Toast的常規使用,以及特殊的屬性、方法的使用,並且會說明如何使用Toast創建一個自定義的內容,並且最後會對以上講解的內容給出代碼示例。
Toast
Toast是為了給當前視圖顯示一個浮動的顯示塊,它永遠不會活動焦點。一般用於提示一些不那麼引人注目,但是又希望用戶看見的消息,無需用戶自己維護它的消失。
如果只是提示簡單的信息,使用Android為Toast提供的兩個靜態的方法最為方便,它們會返回一個Toast對象,如果需要顯示,只需要調用show()方法顯示即可,下面是這兩個方法的簽名:
上面兩個方法,參數大致相同,一個上下文對象Context,一個顯示的消息來源,一個設置持續時間。消息來源可以指定String資源,使用<string.../>標簽在XML資源文件中定義,還可以指定一個字符串用於消息展示。最後的duration參數設置了Toast的持續時間,一般使用Toast自帶的兩個整形的常量:LENGTH_LONG(1,時間稍長)、LENGTH_SHORT(0,時間稍短),針對不同的使用場景,選擇不用的持續時間。
Toast消息的默認顯示位置在屏幕的中間偏下,Android也為開發者提供了方法設置Toast消息的位置,使用setGravity(int gravity, int xOffset, int yOffset)方法即可設置,它有三個參數,gravity設置一個重力方向,另外兩個設置水平和垂直方向的偏移量。
示例:使用Toast提示一個簡單的消息,顯示在屏幕中間。
- btnToast1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Toast toast=Toast.makeText(MainActivity.this,"Toast提示消息",Toast.LENGTH_SHORT );
- toast.setGravity(Gravity.CENTER, 0, 0);
- toast.show();
- }
- });
顯示效果:
自定義消息
無論是從美觀的角度、還是用戶視覺體驗的角度,很多時候都不僅僅需要顯示一簡單的文本信息。如果需要顯示用戶自定義的消息,那麼需要就不能使用上面介紹的靜態方法來創建一個Toast對象,而是需要使用Toast的構造函數進行初始化,然後對相應的屬性進行設置。一般對於自定義布局的顯示,會使用XML定義好一個布局文件,這樣清晰明朗。
步驟如下:
下面通過一個示例展示自定義布局在Toast中的顯示:
Toast消息的布局代碼:
- <?xml version="1.0" encoding="utf-8"?>
- <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="8dp"
- android:background="#DAAA"
- >
- <ImageView android:src="@drawable/ic_launcher"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="8dp"
- />
- <TextView android:id="@+id/text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="#FFF"
- />
- </LinearLayout>
Toast消息的顯示代碼:
- btnCustomToast.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.toast_layout,null );
- TextView tv=(TextView)view.findViewById(R.id.text);
- tv.setText("自定義提示Toast");
- Toast toast=new Toast(MainActivity.this);
- toast.setView(view);
- toast.show();
- }
- });
效果展示:
源碼下載
總結
以上就講解了Toast的使用,在Android中,Toast提示消息的方式會經常被用到,所以掌握它是有必要的,之後會介紹另外一種消息提示方式,Notification。
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
今天,想在android手機上安裝兩個相同的應用,本以為可以安裝不同版本的,試了幾次,均相互覆蓋了,於是,只能設法修改apk所對應的包名(package name