通知(一)你可能不知道的Toast用法

通知有几种,吐司Toast是其中一种。以下介绍系统默认的通知,这个有时不能满足项目需求,需要自定义的Toast



    
自定义Toast的布局custom_dialog.xml




    

    


重点业务逻辑

package com.example.notification;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private Button button1;
	private Button button2;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button1 = (Button) findViewById(R.id.button1);
		button2 = (Button) findViewById(R.id.button2);
		button1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Toast toast = Toast.makeText(MainActivity.this, "普通通知", Toast.LENGTH_SHORT);
				/*设置通知的位置,默认在屏幕的下方
				 * 第一个参数:一个常量,通知的位置。
				 * 第二个参数:x轴偏移量
				 * 第三个参数:y轴偏移量
				 */
				toast.setGravity(Gravity.CENTER, 0, 0);
				toast.show();
			}
		});
		button2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Toast toast = new Toast(MainActivity.this);
				View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.custom_dialog, null);
				ImageView imageView = (ImageView) view.findViewById(R.id.imageView1);
				imageView.setImageResource(R.drawable.notify);
				TextView textView = (TextView) view.findViewById(R.id.textView1);
				textView.setText("今天下午要开会");
				toast.setDuration(Toast.LENGTH_LONG);
				toast.setGravity(Gravity.CENTER, 0, 20);
				toast.setView(view);
				toast.show();
			}
		});
	}
}
工程的ImageView用到的图片资源notify.jpg要放到drawable文件夹下。说点题外话,工程用到的图片资源除了9-patch的,最好用png的,因为jpg格式的压缩后图片像素可能有所损失

通知(一)你可能不知道的Toast用法_第1张图片
结果

通知(一)你可能不知道的Toast用法_第2张图片通知(一)你可能不知道的Toast用法_第3张图片通知(一)你可能不知道的Toast用法_第4张图片

源代码下载

你可能感兴趣的:(android)