跑动的妹子
来源:互联网 发布:遗传算法c语言代码 编辑:程序博客网 时间:2024/04/29 02:23
实现代码如下:
布局文件:main_activity.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/myframe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:foregroundGravity="center"> </FrameLayout>
MainActivity.java:
package com.jay.example.framelayoutdemo3; import java.util.Timer; import java.util.TimerTask; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.FrameLayout; import android.app.Activity; import android.graphics.drawable.Drawable; public class MainActivity extends Activity { //初始化变量,帧布局 FrameLayout frame = null; //自定义一个用于定时更新UI界面的handler类对象 Handler handler = new Handler() { int i = 0; @Override public void handleMessage(Message msg) { //判断信息是否为本应用发出的 if(msg.what == 0x123) { i++; move(i % 8 ); } super.handleMessage(msg); } }; //定义走路时切换图片的方法 void move(int i) { Drawable a = getResources().getDrawable(R.drawable.s_1); Drawable b = getResources().getDrawable(R.drawable.s_2); Drawable c = getResources().getDrawable(R.drawable.s_3); Drawable d = getResources().getDrawable(R.drawable.s_4); Drawable e = getResources().getDrawable(R.drawable.s_5); Drawable f = getResources().getDrawable(R.drawable.s_6); Drawable g = getResources().getDrawable(R.drawable.s_7); Drawable h = getResources().getDrawable(R.drawable.s_8); //通过setForeground来设置前景图像 switch(i) { case 0: frame.setForeground(a); break; case 1: frame.setForeground(b); break; case 2: frame.setForeground(c); break; case 3: frame.setForeground(d); break; case 4: frame.setForeground(e); break; case 5: frame.setForeground(f); break; case 6: frame.setForeground(g); break; case 7: frame.setForeground(h); break; } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); frame = (FrameLayout) findViewById(R.id.myframe); //定义一个定时器对象,定时发送信息给handler new Timer().schedule(new TimerTask() { @Override public void run() { //发送一条空信息来通知系统改变前景图片 handler.sendEmptyMessage(0x123); } }, 0,170); } }
代码解析:代码也很简单,就是定义一个handler对象来刷新帧布局的前景图像,定义一个Timer定时器每隔170毫秒发送定时信息,i++;move(i%8);这里是因为我们使用8个图片作为动画素材!
阅读全文
0 0
- 跑动的妹子
- 跑动的区域
- js实现跑动动态的效果
- 基于jquery的文字向上跑动
- jquery 实现老虎机的跑动效果
- CMB标量功率谱第一个谱指数跑动项n(1)跑动带来的影响
- CMB标量功率谱第二个谱指数跑动项n(2)跑动带来的影响
- 妹子的flash作业
- 一个妹子的照片
- 妹子的心声
- 妹子!
- 使用Java实现人物跑动和放烟花的动画
- HTML5的Canvas实现小圆点在屏幕内跑动
- 跑动Kmeans
- 追妹子的终极奥义
- new个妹子的话题
- BZOJ3720 Gty的妹子树
- 警校妹子的别样青春
- Array对象方法
- sql_mode中的STRICT_TRANS_TABLES和STRICT_ALL_TABLES区别
- Kafka入门
- PLSQL_性能优化系列15_Oracle Explain Plan解析计划解读
- 51nod 1040 最大公约数之和(欧拉函数)
- 跑动的妹子
- Android群英传学习——第五章、Android Scroll分析
- 模块编译
- Android设计模式(1)——单例模式
- 欢迎使用CSDN-markdown编辑器
- C++ string 字符串函数详解
- hdu 2256 4565 矩阵快速幂
- 前十四大好用的漏扫工具(偏web版)
- RecyclerView只显示第一行的bug