Android學習筆記之Toast詳解


1. 貼一段Android API-Toast

Toast

public class Toast 
extends Object 

java.lang.Object

   ↳

android.widget.Toast

 

 

A toast is a view containing a quick little message for the user. The toast class helps you create and show those.

When the view is shown to the user, appears as a floating view over the application. It will never receive focus. The user will probably be in the middle of typing something else. The idea is to be as unobtrusive as possible, while still showing the user the information you want them to see. Two examples are the volume control, and the brief message saying that your settings have been saved.

The easiest way to use this class is to call one of the static methods that constructs everything you need and returns a new Toast object.

 

Constants

int  LENGTH_LONG

Show the view or text notification for a long period of time.

int  LENGTH_SHORT

Show the view or text notification for a short period of time.

 

Public constructors

Toast(Context context)

Construct an empty Toast object.

 

 

Public methods

void cancel()

Close the view if it's showing, or don't show it if it isn't showing yet.

int getDuration()

Return the duration.

int getGravity()

Get the location at which the notification should appear on the screen.

float getHorizontalMargin()

Return the horizontal margin.

float getVerticalMargin()

Return the vertical margin.

View getView()

Return the view.

int  getXOffset()

Return the X offset in pixels to apply to the gravity's location.

int  getYOffset()

Return the Y offset in pixels to apply to the gravity's location.

staticToast makeText(Context context, int resId, int duration)

Make a standard toast that just contains a text view with the text from a resource.

staticToast makeText(Context context, CharSequence text, int duration)

Make a standard toast that just contains a text view.

void setDuration(int duration)

Set how long to show the view for.

void setGravity(int gravity, int xOffset, int yOffset)

Set the location at which the notification should appear on the screen.

void setMargin(float horizontalMargin, float verticalMargin)

Set the margins of the view.

void setText(int resId)

Update the text in a Toast that was previously created using one of the makeText() methods.

void setText(CharSequence s)

Update the text in a Toast that was previously created using one of the makeText() methods.

void setView(View view)

Set the view to show.

void show()

Show the view for the specified duration.

 

 

 

2.中文簡介及用法舉例

Toast是Android中用來顯示顯示信息的一種機制,和Dialog不一樣的是,Toast是沒有焦點的,而且Toast顯示的時間有限,過一定的時間就會自動消失。下面用一個實例來看看如何使用Toast。

2.1 默認效果

代碼

Toast.makeText(getApplicationContext(), "默認Toast樣式",   Toast.LENGTH_SHORT).show();

2.2 自定義顯示位置效果

代碼

toast = Toast.makeText(getApplicationContext(),
     "自定義位置Toast", Toast.LENGTH_LONG);
   toast.setGravity(Gravity.CENTER, 0, 0);
   toast.show();

 

2.3 帶圖片效果

 

代碼

toast = Toast.makeText(getApplicationContext(),
     "帶圖片的Toast", Toast.LENGTH_LONG);
   toast.setGravity(Gravity.CENTER, 0, 0);
   LinearLayout toastView = (LinearLayout) toast.getView();
   ImageView imageCodeProject = new ImageView(getApplicationContext());
   imageCodeProject.setImageResource(R.drawable.icon);
   toastView.addView(imageCodeProject, 0);
   toast.show();

 

2.4 完全自定義效果

代碼

LayoutInflater inflater = getLayoutInflater();
   View layout = inflater.inflate(R.layout.custom,
     (ViewGroup) findViewById(R.id.llToast));
   ImageView image = (ImageView) layout
     .findViewById(R.id.tvImageToast);
   image.setImageResource(R.drawable.icon);
   TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
   title.setText("Attention");
   TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
   text.setText("完全自定義Toast");
   toast = new Toast(getApplicationContext());
   toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
   toast.setDuration(Toast.LENGTH_LONG);
   toast.setView(layout);
   toast.show();

2.5 其他線程

 代碼

new Thread(new Runnable() {
    public void run() {
     showToast();
    }
   }).start();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM