(黎活明老师讲学)Android学习(五)---Frame动画、Notification 状态栏通知

Frame动画的实现

--帧动画

res文件夹下-->新建drawable文件夹-->新建文件 frame.xml(自定义的名字,可以随便取)

<animation-list>标签,属性--androidoneshot="true" 表示只播放一次  false 表示无限播放

里面包含每一个 <item>,属性--android:drawable=" "android:duration="100" 动画执行的时间

 

案例:

frame.xml文件

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false" >
    
    <item android:drawable="@drawable/girl_1" android:duration="100" />
    <item android:drawable="@drawable/girl_2" android:duration="100" />
    <item android:drawable="@drawable/girl_3" android:duration="100" />
    <item android:drawable="@drawable/girl_4" android:duration="100" />
    <item android:drawable="@drawable/girl_5" android:duration="100" />
    <item android:drawable="@drawable/girl_6" android:duration="100" />
    <item android:drawable="@drawable/girl_7" android:duration="100" />
    <item android:drawable="@drawable/girl_8" android:duration="100" />
    <item android:drawable="@drawable/girl_9" android:duration="100" />
    <item android:drawable="@drawable/girl_10" android:duration="100" />
    <item android:drawable="@drawable/girl_11" android:duration="100" />
    
</animation-list>
MainActivity.java文件
package com.nsz.frameanimation;

import android.os.Bundle;
import android.os.MessageQueue;
import android.widget.TextView;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;

/**
 * 帧动画的实现
 * 在res下的drawable文件夹下,新建一个frame.xml文件
 * 用<animation-list>标签,属性--android:oneshot="true" 表示只播放一次  false 表示无限播放
 * 里面包含每一个 <item>,属性--android:drawable="",android:duration="100" 动画执行的时间
 * @author TF
 *
 */
public class MainActivity extends Activity {

    @SuppressWarnings("static-access")
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TextView textView = (TextView) this.findViewById(R.id.textView);
        textView.setBackgroundResource(R.drawable.frame);//绑定Frame动画图形
        final AnimationDrawable drawable = (AnimationDrawable) textView.getBackground();
        getMainLooper().myQueue().addIdleHandler(new MessageQueue.IdleHandler() {
			
			@Override
			public boolean queueIdle() {
				drawable.start();//启动动画
				return false;
			}
		});
    }
    
}

Notification 状态栏通知
package com.nsz.natification;

import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;

/**
 * Natification 通知的使用
 * @author TF
 */
public class MainActivity extends Activity {
	 private EditText shorttitleText;
	 private EditText titleText;
	 private EditText contentText;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		shorttitleText = (EditText) this.findViewById(R.id.shorttitle);
        titleText = (EditText) this.findViewById(R.id.title);
        contentText = (EditText) this.findViewById(R.id.content);
	}

	@SuppressWarnings("deprecation")
	public void send(View v) {
		String tickerText = shorttitleText.getText().toString();
		String title = titleText.getText().toString();
		String content = contentText.getText().toString();
		//获得到系统的图标
		int icon = android.R.drawable.stat_notify_chat;
		/**
		 * Notification()的构造方法
		 * 第一个参数 :通知的图标
		 * 第二个参数 :通知的概要
		 * 第三个参数 :通知的时间
		 */
		Notification notification = new Notification(icon, tickerText,System.currentTimeMillis());
		
		Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:194949494"));
		PendingIntent pendingIntent = PendingIntent.getActivity(this, 10,intent, 0);
		/**
		 * setLatestEventInfo()方法
		 * 第一个参数 :上下文参数
		 * 第二个参数 :通知标题
		 * 第三个参数 :通知的内容
		 * 第四个参数 :跳转到哪个的意图
		 */
		notification.setLatestEventInfo(this, title, content, pendingIntent);
		//通知的声音
		notification.defaults = Notification.DEFAULT_SOUND;
		//通知点击过后,就会取消
		notification.flags = Notification.FLAG_AUTO_CANCEL;
		//通知管理器
		NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
		manager.notify(100, notification);
	}
}

你可能感兴趣的:(动画,标签,notification,状态栏通知,Frame动画)