在前面的執行個體中,已經應用過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();//顯示消息提示框
}
}
效果如圖:

轉載請注明出處:http://blog.csdn.net/acmman/article/details/44994471