Frame动画的实现
--帧动画
在res文件夹下-->新建drawable文件夹-->新建文件 frame.xml(自定义的名字,可以随便取)
用<animation-list>标签,属性--android:oneshot="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); } }