【Android開發】訊息提示框與對話方塊-使用Toast顯示訊息提示框
阿新 • • 發佈:2019-02-03
在前面的例項中,已經應用過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:
使用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();//顯示訊息提示框 } }
效果如圖: