在我們的相應程序運行的時候為了不打斷當前程序的運行,我們經常會使用Notification來告知用戶有新來電或新的短信。
下面先介紹一下toast的簡單提醒:
- private void baseToast(){
- Toast.makeText(getApplicationContext(), "Hello toast!", Toast.LENGTH_SHORT).show();
- }
第一個參數是得到上下文,第二個是提醒的具體內容,第三個是提醒的時間。
接下來看一下如何自定義一個Toast提醒:
- //自定義toast
- private void customToast(){
- //得到inflater對象和view
- LayoutInflater inflater=getLayoutInflater();
- View layout=inflater.inflate(R.layout.toast_layout, (ViewGroup) findViewById(R.id.toast_layout_root));
- //得到view下的相應的控件
- ImageView image = (ImageView) layout.findViewById(R.id.image);
- image.setImageResource(R.drawable.ic_launcher);
- TextView text = (TextView) layout.findViewById(R.id.text);
- text.setText("Hello! This is a custom toast!");
- //設置toast
- Toast toast=new Toast(getApplicationContext());
- toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
- toast.setDuration(Toast.LENGTH_SHORT);
- toast.setView(layout);
- toast.show();
-
- }
在layout 下定義了toast_layout.xml布局文件:
- <?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="10dp"
- android:background="#DAAA"
- >
- <ImageView android:id="@+id/image"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_marginRight="10dp"
- />
- <TextView android:id="@+id/text"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:textColor="#FFF"
- />
- </LinearLayout>
運行後效果: