android 小鱼在水中游
来源:互联网 发布:java学生成绩系统 编辑:程序博客网 时间:2024/04/29 08:13
MainActivity.java
package com.zlp.demo;import java.util.Random;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.DisplayMetrics;import android.widget.ImageView;public class MainActivity extends Activity { private ImageView img;//声明img对象 private Handler handler;//声明handler对象 private Thread thread;//声明thread对象 private int x=200;//设置x值:用于设置图片的位置 private int y=200;//设置y值:用于设置图片的位置 private int screenX;//设置screenX:用于接收屏幕的宽度 private int screenY;//设置screenY:用于接收屏幕的宽度 private boolean flag_x;//设置图片x轴方向的移动条件 private boolean flag_y;//设置图片x轴方向的移动条件 private boolean isDo=true;//设置执行代码的条件,在这一定要先设为true private int fish[]={ R.drawable.fish0,R.drawable.fish1, R.drawable.fish2,R.drawable.fish3, R.drawable.fish4,R.drawable.fish5, R.drawable.fish6,R.drawable.fish7, R.drawable.fish8,R.drawable.fish9, };//建立存储图片的数组 /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); img=(ImageView)this.findViewById(R.id.img);//定义img对象 DisplayMetrics dm=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm);//此方法可以获得屏幕宽度和高度 screenX=dm.widthPixels;//获得宽度 screenY=dm.heightPixels;//获得高度 handler=new Handler(){ /*关于handler内的重建方法: * 按alt+shift+s 选择override/implement methods * 添加handleMessage */ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); int p=msg.what;//接收连续的整数,:用于连续改变图片,实现动图 int move_x=msg.arg1;//接受随机数,用于图片移动 int move_y=msg.arg1;//接受随机数,用于图片移动 if(x<=0){ flag_x=true;//图片碰到左边时为真 }else{ flag_x=false; } if(flag_x){ x=480; img.setBackgroundResource(fish[p]); img.setX(x);//碰到左边,将图片重置到右边 img.setY(y); }else{ img.setBackgroundResource(fish[p]); x-=move_x; img.setX(x); img.setY(y); } if(y>(screenY-img.getHeight())){//图片碰到顶部返回 flag_y=false; }else if(y<=0){//图片碰到底部返回 flag_y=true; } if(flag_y){ y+=move_y; img.setY(y); }else{ y-=move_y; img.setY(y); } } };//注意这的分号 thread=new Mythread();//声明一个子线程 thread.start(); } class Mythread extends Thread{//继承父类 /*关于thread内的重建方法: * 按alt+shift+s 选择override/implement methods * 添加run() */ @Override public void run() { // TODO Auto-generated method stub super.run(); int index; int what=1; while(isDo){ index=(new Random()).nextInt(5);//将index设为随机数1-5 Message msg=handler.obtainMessage();//声明msg msg.arg1=index;//将随机数传入arg1中 handler.sendMessage(msg); handler.sendEmptyMessage((what++)%10);//what累加并对10取余 //这个取余数应该看与图片的个数而定 try {//try按出提示自动写出框架 thread.sleep(100);//设置子线程执行间隔 } catch (Exception e) { // TODO: handle exception } } } }}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zlp.demo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >//全屏 <activity android:label="@string/app_name" android:name=".MainActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/water" > <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
0 0
- android 小鱼在水中游
- 宛在水中央
- 困在水中央
- android 更加复杂的小鱼游
- 摄影师 躲在水中拍狮子 强烈推荐
- 畅游在水中——游泳培训教程
- C#判断物体是否会在水中下沉
- 搞笑一下:小刚在第一杯水中放入15克糖,在第二杯水中放入20克糖。那杯水更甜?
- 我在显示器里养了条小鱼
- 水中花
- 水中月
- 全流通IPO年内试水中小板 询价细则已在酝酿中
- C#上机 第七周 任务2 判断该物体是否会在水中下沉
- 哑小鱼~
- 水中倒影效果制作
- 一杯水中的智慧
- 鱼是水中魂
- 水中的蓝天
- POJ 3061 Subsequence
- Geekband作业13--视图优化
- 结合asp使用JQuery框架下的Ajax实例
- eclipse配置red5服务器
- poj2594(DAG最小路径覆盖)
- android 小鱼在水中游
- java 读取配置文件的几种方法
- OpenCv学习笔记(一)----OpenCv中Mat类源码的详细解读(2)
- C++流操作算子
- java IM基础(一):建立tcp连接
- 反思
- 区间DP入门之 石子归并问题
- cocos2d lua使用 shader
- JAVA正则表达式语法大全