进阶篇-用户界面:12.android中的 Toast(吐司) 和 Notification(通知)

本文详细介绍了安卓开发中Toast和Notification的基本用法及自定义方式,包括如何创建、设置显示内容及位置等。

1.Toast

android中的Toast是一个非常友好方便的用户界面交互形式,通过弹出一个吐司来警告、提示用户。

Toast的系统默认形式非常简单

Toast.makeText(MainActivity.this, "This is a normal toast!",Toast.LENGTH_SHORT);
              

效果就是从屏幕的下方弹出一个吐司。提示 this is a normal toast!

当然我们也可以自定义toast的弹出位置甚至弹出的内容不仅只可以是文字,其他的控件也可以,自定义代码如下:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.animation.Animation;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                LinearLayout ll = new LinearLayout(MainActivity.this);

                TextView tv = new TextView(MainActivity.this);
                tv.setText("this is a textview");
                ImageView imv = new ImageView(MainActivity.this);
                imv.setImageResource(R.mipmap.ic_launcher);
                ll.addView(tv);
                ll.addView(imv);

                Toast t = Toast.makeText(MainActivity.this, "This is a normal toast!", Toast.LENGTH_SHORT);
                t.setGravity(Gravity.CENTER,0,0);   //set the position of the toast
                t.setView(ll);
                t.show();
            }
        });
    }
}

效果是弹出的toast内容包括一段文字和一张图片。

2.Notification(通知)

我们平时用的应用每天不停的给我们发通知,这个通知就是Notification。

Notification的使用方法。

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.NotificationCompat;
import android.view.Gravity;
import android.view.View;

import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    public static final int NOTIFIVATION_ID = 1200;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        final PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0,  new Intent(MainActivity.this,MainActivity.class), PendingIntent.FLAG_CANCEL_CURRENT);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                NotificationCompat.Builder builer = new NotificationCompat.Builder(MainActivity.this);
                builer.setContentIntent(pi);  //set notifiction onClick method
                builer.setSmallIcon(R.mipmap.ic_launcher);
                builer.setContentTitle("You have a new message!");
                builer.setContentText("This is a message!You've made an notification!");
                Notification notification = builer.build();
                NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

                manager.notify(NOTIFIVATION_ID,notification);
            }
        });

    }
}

此为安卓用户界面大致知识的完结……接下来的时间学习简单的安卓系统功能!

转载于:https://www.cnblogs.com/androidNot/p/5658081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值