android通知控件

老罗视频学习笔记。


通知有两种,一种是Toast Notification通知,一种是StatusNotification。


一.ToastNotification通知。

1)普通的Toast通知。

//第一种写法
				//Toast.makeText(ToastNotificationActivity.this, "这是普通的Toast通知", Toast.LENGTH_SHORT).show();
				//第二种写法
				Toast toast = Toast.makeText(ToastNotificationActivity.this, "这是普通的Toast通知", Toast.LENGTH_SHORT);
				toast.show();

第一个参数是传递上下文的context对象。第二个参数是通知的内容。第三个参数设置Toast显示的时间是长还是短。


2)可以设置Toast位置的通知。

Toast toast = Toast.makeText(ToastNotificationActivity.this, "这是可以设置位置的Toast通知", Toast.LENGTH_SHORT);
				toast.setGravity(Gravity.CENTER, 0, 0);
				toast.show();

setGravity就是设置toast的位置,center为在正中心。


3)自定义一个Toast显示。

那么首先要自定义一个xml布局文件imagetoast.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textviewintoast"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:text="TextView" />
<ImageView 
     android:id="@+id/imageintoast"
     android:padding="10dp"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"></ImageView>
</LinearLayout>

然后在java文件中定义一个布局对象来加载这个布局。


//定义一个Toast对象
				Toast toast = new Toast(ToastNotificationActivity.this);
				//定义一个view对象,加载imagetoast布局
				View view = LayoutInflater.from(ToastNotificationActivity.this).inflate(R.layout.imagetoast, null);
				//给imageView加载图片
				ImageView imageView = (ImageView)view.findViewById(R.id.imageintoast);
				imageView.setImageResource(R.drawable.tip);
				//给textview设置字体
				TextView textView = (TextView)view.findViewById(R.id.textviewintoast);
				textView.setTextSize(20);
				textView.setText("这个是自定义的toast哦");
				
				//设置toast的位置
				toast.setGravity(Gravity.CENTER, 0, 0);
				//设置Toast显示的时间长短
				toast.setDuration(Toast.LENGTH_SHORT);
				//设置toast的布局
				toast.setView(view);
				toast.show();


特别要注意的是ImageView imageView = (ImageView)view.findViewById(R.id.imageintoast);这一句必须要写view.findViewById,否则会崩溃。因为通过控件的ID获取控件对象时,必须要先加载布局才可以获取,否则会崩溃。这段代码不和之前的代码那样,静态加载布局setContentView。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值