1. 程式人生 > >【Android開發】訊息提示框與對話方塊-使用Toast顯示訊息提示框

【Android開發】訊息提示框與對話方塊-使用Toast顯示訊息提示框

在前面的例項中,已經應用過Toast類來顯示一個簡單的提示框了。這次將對Toast進行詳細介紹。Toast類用於在螢幕中顯示一個訊息提示框,該訊息提示框沒有任何控制按鈕,並且不會獲得焦點,經過一段時間後自動消失。通常用於顯示一些快速提示資訊,應用範圍非常廣泛。

使用Toast來顯示訊息提示框非常簡單,只需要一下三個步驟:
(1).建立一個Toast物件。通常有兩種方法:一種是使用構造方式進行建立;
Toast toast=new Toast(this);
另一種是呼叫Toast類的makeText()方法建立。
Toast toast=Toast.makeText(this,"要顯示的內容",Toast.LENGTH_SHORT);

(2).呼叫Toast類提供的方法來設定該訊息提示框的對齊方式、頁邊距、顯示的內容等等。
常用的方法如下:
setDuration(int duration) 用於設定訊息提示框持續的時間,引數通常使用Toast.LENGTH_LONG或Toast.LENGTH_SHORT

setGravity(int gravity,int xOffset,int yOffset) 用於設定訊息提示框的位置,引數grivaty用於指定對齊方式:xOffset和yOffset用於指定具體的偏移值

setMargin(float horizontalMargin,float verticalMargin) 用於設定訊息提示的頁邊距

setText(CharSequence s) 用於設定要顯示的文字內容

setView(View view) 用於設定將要在提示框中顯示的檢視

(3).呼叫Toast類的show()方法顯示訊息提示框。需要注意的是,一定要呼叫該方法,否則設定的訊息提示框將不顯示。

下面通過一個具體的例項來說明如何使用Toast類顯示訊息提示框。

res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:id="@+id/layout1"
    android:gravity="center_horizontal"
    >  
  
</LinearLayout>  

MainActivity:

package com.example.test;  
  
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
  
public class MainActivity extends Activity {  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        
        //通過makeText方法建立訊息提示框
        Toast.makeText(MainActivity.this, "我是通過makeText方法建立的訊息提示框", Toast.LENGTH_SHORT).show();
        
        //通過Toast類的構造方法建立訊息提示框
        Toast toast=new Toast(this);
        toast.setDuration(Toast.LENGTH_SHORT);//設定持續時間
        toast.setGravity(Gravity.CENTER,0, 0);//設定對齊方式
        LinearLayout ll=new LinearLayout(this);//建立一個線性佈局管理器
        ImageView imageView=new ImageView(this);
        imageView.setImageResource(R.drawable.stop);
        imageView.setPadding(0, 0, 5, 0);
        ll.addView(imageView);
        TextView tv=new TextView(this);
        tv.setText("我是通過構造方法建立的訊息提示框");
        ll.addView(tv);
        toast.setView(ll);//設定訊息提示框中要顯示的檢視
        toast.show();//顯示訊息提示框
    }  
}  

效果如圖: