动画

package com.example.lianxi2;

import android.animation.ObjectAnimator;
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.net.Uri;
import android.os.Build;
import android.provider.MediaStore;
import android.support.annotation.RequiresApi;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        view= findViewById(R.id.view);
        findViewById(R.id.btn_1).setOnClickListener(this);
        view.setOnClickListener(this);
        findViewById(R.id.btn_2).setOnClickListener(this);
        findViewById(R.id.btn_3).setOnClickListener(this);
        findViewById(R.id.btn_4).setOnClickListener(this);
        findViewById(R.id.btn_5).setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.view:
                toast();
                break;
            case R.id.btn_1://平移
                trance();
                break;
            case R.id.btn_2://旋转
                rotation();
                break;
            case R.id.btn_3://淡入淡出
                alpha();
                break;
            case R.id.btn_4://渐变
                argb();
                break;
            case R.id.btn_5://展示到状态栏
                show();
                break;

        }
    }
    //展示到状态栏
    private void show() {
        NotificationManager mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);
        mBuilder.setContentTitle("用户更新了")//设置通知栏标题
                .setContentText("新版本来了!!!!")
                .setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL, this)) //设置通知栏点击意图
                .setTicker("新版本来了!!!!") //通知首次出现在通知栏,带上升动画效果的
                .setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间
                .setPriority(Notification.PRIORITY_DEFAULT) //设置该通知优先级
                .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消
                .setOngoing(false)//ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
                .setDefaults(Notification.DEFAULT_VIBRATE)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
                .setSound(Uri.withAppendedPath(
                        MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "5"))
                .setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON
        mNotificationManager.notify(3, mBuilder.build());
    }

    private PendingIntent getDefalutIntent(int flagAutoCancel, MainActivity mainActivity) {
    return null;
    }

    //渐变
    private void argb() {
        ObjectAnimator objectAnimator=ObjectAnimator.ofArgb(view,"backgroundColor", 0xffff00ff, 0xffffff00, 0xffff00ff);
    objectAnimator.setDuration(6000);
    objectAnimator.setRepeatCount(10);
    objectAnimator.start();


    }
    //淡入淡出
    private void alpha() {
        ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(view,"alpha",1,0.5f,0,0.5f,1);
        objectAnimator.setDuration(6000);
        objectAnimator.setRepeatCount(10);
        objectAnimator.start();
    }

    //旋转
    private void rotation() {
        ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(view,"rotationY",0,360);
        objectAnimator.setDuration(3000);
        objectAnimator.start();

    }

    //平移
    private void trance() {
        ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(view,"translationX",0,500,500,0);
        objectAnimator.setDuration(3000);
        objectAnimator.start();
    }

    private void toast() {
        Toast.makeText(this,"----",Toast.LENGTH_SHORT).show();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值